Mongodb多集群存储状态映射的想法
1、 双层存储机制确保ConfigServer稳定。(1层redis内存数据库,1层mongodb方便存储,同时节点状态映射信息),客户端保证两个链接从redis取链接失效,从mongodb中取状态信息,同时避免redis单点问题。
2、 使用心跳线程和更新线程来保证Redis和mongodb数据一致性问题,
启动一个心跳检测线程,信用级别:0 - 5 ,
存储内容:key -value
Redis分库:2个库 Mongodb分2个表
Key - Value
DB1:server1-List<tableid>
server1-int
DB2:tableid-server1
启动一个数据遍历更新线程,当手动更新Mongodb上服务器状态信息数据,遍历更新线程可以同步数据到REDIS。
2、状态邮件检测,信用级别下降,触发该检测。
3、从Mongodb (可以与lbscloud_meta同一数据库)中录入状态映射表数据,录入信息后,更新通过心跳线程+数据遍历线程来事务(可回滚的)更新。
迁移步骤:
1、将Lbscloud_data库从主Mongodb集群上复制到一个新的集群上
2、新的集群适用新的ConfigServer来测试,在取数据时直接到新集群上拉取data数据。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。