您的位置:首页 > 运维架构 > 网站架构

架构配置笔录

2015-07-16 09:35 417 查看
分布式架构笔录
本系统实现多个disc节点,多个ram节点,disc节点可以去除冗余数据,ram节点则加载所需数据,
底层mnesia数据库全部透明,可以实现各个表的访问.

配置注意事项
{db_nodes,['p02_db_disc_1@192.168.1.145']},

该节点为中心disc节点,所有子节点数据库升级都应遵循中心节点schema一致;
{node_type,disc},
配置为disc节点时,那么该节点所有的数据都存在硬盘,
当然也有缓存副本一份,表的类型disc_copies;
{node_type,remote},
配置为remote节点是,那么该节点加载的所有数据都放在ram中;
{server_sn_db,[%%{1, 1}, %%表示N服的数据写到M服去
%%{2, 2}
%%{3, 3}
%%{4, 4},
%%{5, 5},
%%{6, 6},
%%{7, 7},
%%{8, 8}
{9,9},
{10,10}
]},
{Arg1,Arg2}
参数1代表Sn,参数2代表Dn

数据库升级注意事项
remote节点升级,
直接把本地的schema表删除,如果在线上进行升级,最好是先对disc节点进行升级,处理完了disc节点,则直接把所有的ram节点开启;
disc节点升级
1.新添逻辑服时,若本地有数据,则直接添加表,反之则跳过ok,
注意:若是没有数据,在加入集群过程中会创建所有的表.此处可能会有冲突;
2.升级过程中,
走常规代码升级即可,无须做特殊处理,升级后表信息同步更新到所有节点mnesia:info().

分布式代码错误注意事项
常见的错误,schema合并错误,
正确的做法是 :如果是第一次加入集群,那么一定不能有schema表,如果存在的话一定要先删除,
先去加入集群,获得一份schema备份,然后进行修改自己的数据,再同步至各个节点
. schema合并的规则与git合并代码的规则一样,任何节点修改schema表数据时,都应该修改自己的数据,这样可以保证合并的规则进行;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: