使用zookeeper架构,服务器使用多个zookeeper维护一组共同的数据状态。所有节点都在内存中维持相同的zookeeper树。
细节:
1 由于内存较大,总是被访问的配置可以直接装载入内存;而常用的可以装载入缓存中;
2 由于client和zookeeper也可以在同一台机器或者不同机器上运行,所以扩容很容易。直接增加机器,不同配置通过zookeeper管理。
3 分布式的读操作。不同client同时读时,注册watch,就可以在zookeeper中读取数据;每个client只连接到一个zookeeper服务器,所有的读都由服务器同本地状态来回复。
4 写操作。所有zookeeper跟随一个leader节点,协调完成所有zookeeper完成数据写(更新)。且zookerper数据变化时,通知client。