1.统一命名服务
2.状态同步服务
3.集群管理
4.队列管理
1、跨进程共享锁
2、分布式应用配置项系统
公司的eagle系统使用方式
1.函数调用实时获取配置值。
Eagle.get(“key”,defaultValue);
使用内存级别的缓存,每次 Get 先从缓存中获取,如果缓存中没有再到 zookeeper 上查询,避免性能问题。
2.XML 配置和@Value 方式
<bean name="xmlDemo" class="com.pajk.demo.eagle.spring.XMLUseDemonBean">
<property name="value1" value="${eagle-demo.xmldemon.value1}" />
</bean>
3.注解方式
@EagleConfig(key="eagle-demo.autofield.value1")
private String value1;
配置项更新,通知应用集群所有的服务器
服务器需要对某一个key监听或者批量对多个key监听
3、Leader Election
实现方式:每台 Server 创建一个 EPHEMERAL_SEQUENTIAL 目录节点。我们可以选择当前是最小编号的 Server 为 Master。
假如这个最小编号的 Server 死去,由于是 EPHEMERAL 节点,死去的 Server 对应的节点也被删除,所以当前的节点列表中又出现一个最小编号的节点,我们就选择这个节点为当前 Master。
这样就实现了动态选择 Master。
网友评论