2016-03-24 51 views
1

據我所知,Corosync是消息傳遞層,Pacemaker是啓動和停止服務的資源管理器,Zookeeper查看服務和資源,我們在zookeeper上註冊資源和服務。誰能給我一個工作的例子,他們的工作和他們的詳細的工作....Corosync,起搏器和動物園管理員如何相互關聯?

+0

歡迎來到Stack Overflow!請[參觀](http://stackoverflow.com/tour),看看幫助中心,特別是[如何提出一個好問題?](http://stackoverflow.com/help/how-到問)。 –

回答

1

Corosync是簇層:它允許主機發現彼此,選出一個主站和交換消息

起搏器是資源層:給定Corosync提供的集羣狀態和資源配置,它計算停止和啓動資源的位置。如果羣集狀態發生變化(添加或刪除主機時),Pacemaker會決定如何執行操作(例如,將資源移動到其他主機)。

很顯然,即使Pacemaker可以與Corosync一起使用其他集羣層,這兩者幾乎總是一起運行。

動物園管理員與Corosync/Pacemaker堆棧沒有直接關係。這是一個分佈式配置服務。它提供了一些原語,允許程序:

  • 共享相同的配置(你可以看到它像一個鍵/值存儲)
  • 手柄集羣成員(誰連接,誰不是,誰註冊組,例如)
  • 通過隊列
  • 等使選舉
  • 共享鎖
  • Exchange郵件......很多有趣的事情可以用動物園管理員原語來完成。例如,請參閱https://zookeeper.apache.org/doc/r3.5.0-alpha/recipes.html

當您創建一個程序,然後使用Pacemaker/Corosync以冗餘/分佈式方式運行它時,您可以使用Zookeeper共享其配置,選擇主控,共享鎖等等。但是其他系統存在取決於你的需求(例如,如果你只需要隊列,AMQP服務器會更好,或者如果你需要存儲很多鍵/值數據,NOSQL服務器可能更合適)。