1.統(tǒng)一命名服務(wù)
2.狀態(tài)同步服務(wù)
3.集群管理
4.隊列管理
1、跨進(jìn)程共享鎖
2、分布式應(yīng)用配置項系統(tǒng)
公司的eagle系統(tǒng)使用方式
1.函數(shù)調(diào)用實時獲取配置值。
Eagle.get(“key”,defaultValue);
使用內(nèi)存級別的緩存,每次 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;
配置項更新,通知應(yīng)用集群所有的服務(wù)器
服務(wù)器需要對某一個key監(jiān)聽或者批量對多個key監(jiān)聽
3、Leader Election
實現(xiàn)方式:每臺 Server 創(chuàng)建一個 EPHEMERAL_SEQUENTIAL 目錄節(jié)點。我們可以選擇當(dāng)前是最小編號的 Server 為 Master。
假如這個最小編號的 Server 死去,由于是 EPHEMERAL 節(jié)點,死去的 Server 對應(yīng)的節(jié)點也被刪除,所以當(dāng)前的節(jié)點列表中又出現(xiàn)一個最小編號的節(jié)點,我們就選擇這個節(jié)點為當(dāng)前 Master。
這樣就實現(xiàn)了動態(tài)選擇 Master。