淺談zk(1) 爲什麼要使用zookeeper?

隨着應用規模的迅速擴張,單臺機器的部署已經難以支撐用戶大規模、高併發的請求了, 因此服務化、集羣化、分佈式概念應運而生。 針對這種場景,人們通常使用的做法就是將軟件按照模塊進行拆分,形成獨立的子系統,然後在局域網內部署到多臺機器上面, 形成了一個集羣。 這種方式即可以分灘請求壓力,又可以起到災備的效果。
然而, 集羣的維護和多節點應用程序的協作運行遠比單機模式複雜,需要顧及到的細節問題實在太多,比如說同一分配置在多臺機器上的同步, 客戶端程序實時感知服務機狀態,應用與應用之間的公共資源的互斥訪問等等一系列的問題。 如果這些問題都依靠開發人員或維護人員去解決的話, 非旦消耗人力,而且也達不到實時準確的效果。
所幸的是,zookeeper能夠給我們非常完美的解決這些問題,zookeeper天生的就是爲解決分佈式協調服務這個問題而來, 應用zookeeper,能夠非常好的解決如下問題:
1、配置信息同步
2、分佈式鎖控制
3、消息的發佈與訂閱(典型的生產者消費者模型)
4、集羣內節點狀態的快速感知

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