vcfc框架总结:
1
一、 bus和keystore是如何协调处理的,什么样的问题是处理不了的?
1、 如果在备重启的过程中,主处理了某个时间1,备机如果同步数据呢?
二 、数据可靠性和一致性分析
主: 内存、数据库psql、cansandra
备: 内存、数据库psql、cansandra
分析如下:
(1)、主处理事件1,更新内存,更新数据库,发同步消息给备,让备也做同样的事情(更新内存和数据库),并且主更新keystore。
主重启时,主内存数据从psql恢复,(主数据以主的psql为准),并对cansandra进行平滑(主有平滑过程吗?)
(2)、备重启时,响应toMember事件后,清空自己的psql,内存自动清空,并且从keystore恢复数据到内存和数据库psql(备数据以keystore为准,备的psql在一直是备时没有作用,只有当他成为真正的主时,psql数据库数据才发挥作用。)。
总结:主的内存(运行时使用)、数据库psql(重启时使用)、cansandra(主备同步,主没用,是为了给备机快速恢复和主相同数据使用的,还有新增节点使用的)
备的内存(运行时使用)、数据库psql(基本无用在备状态时,但是备数据库会每次becomeMember时会根据cansandra平滑使得主备psql数据一致)、cansandra(主备同步,主没用,是为了给备机快速恢复和主相同数据使用的,还有新增节点使用的)
相关技术
1、 zk集群选举。zkclient或者curator
2、 cassandra
3、 zk消息路由