《Zookeeper中間件》Zookeeper的應用場景

前言

Zookeeper到底能爲我們的程序解決一些什麼問題呢?

應用場景

1. 分佈式配置中心

 

1.1通過Zookeeper的watch監聽來實現各個集羣節點的配置修改,不用再一臺臺服務器單獨進行修改。

1.2使用zookeeper的持久化節點來實現配置保存。

2. 分佈式鎖

2.1.APP1 獲取鎖的時候,創建節點node0000001,APP2 併發獲取鎖的時候,創建節點node0000002,APP3 併發獲取鎖的時候,創建節點node0000003.

2.2.然後APP1判斷自己獲取到的節點是不是最小的,如果是則獲取鎖成功,APP2,APP3判斷自己的節點都不是最小的所以等待。

2.3.APP2獲取了node0000002所以APP2需要監聽比自己小的node0000001什麼時候消失,消失APP2就獲取鎖。 APP獲取鎖的邏輯和APP2一致。

2.4.實現zookeeper鎖的開源框架有Curator。

3. 註冊中心

3.1. 各個APP服務都將自己的ip和端口註冊到Zookeeper的節點上面,這個節點是臨時的,服務消息節點也會消失,各個服務都需要GSV來表示自己。

3.2. APP服務之間的互相調用,通過Zookeeper去找到對方的服務的地址,然後通過GSV和方法名具體找到實際方法。

3.3. zookeeper只是提供了節點的特性,實現以上功能的框架有dubbo。

總結

以上是zookeeper最常用的幾種方式,zookeeper還可以有很多其他的用處,利用他的watch機制和節點特性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章