dubbo和zookeeper的關係是什麼?以下這篇文章跟大家介紹dubbo和zookeeper的關係。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。
Dubbo建議使用Zookeeper作為服務的註冊中心。
1、Zookeeper的作用:
zookeeper用來註冊服務和進行負載平衡,哪一個服務由哪一個機器來提供必要讓呼叫者知道,簡單來說就是ip位址和服務名稱的對應關係。當然也可以透過硬編碼的方式把這種對應關係在呼叫方業務代碼中實現,但是如果提供服務的機器掛掉呼叫者無法知曉,如果不更改代碼會繼續請求掛掉的機器提供服務。 zookeeper透過心跳機制可以偵測掛掉的機器並將掛掉機器的ip和服務對應關係從清單中刪除。至於支援高並發,簡單來說就是橫向擴展,在不更改程式碼的情況透過添加機器來提高運算能力。透過增加新的機器向zookeeper註冊服務,服務的提供者多了能服務的客戶就多了。
2、dubbo的作用:
Dubbo是管理中間層的工具,在業務層到資料倉儲間有非常多服務的存取和服務提供者需要調度,dubbo提供一個框架來解決這個問題。
注意這裡的dubbo只是一個框架,至於你架子上放什麼是完全取決於你的,就像一個汽車骨架,你需要配你的輪子引擎。這個框架中要完成調度必須要有一個分散式的註冊中心,儲存所有服務的元數據,你可以用zk,也可以用別的,只是大家都用zk。
3、zookeeper和dubbo的關係:
Dubbo將註冊中心進行抽象,使得它可以外接不同的儲存媒介為註冊中心提供服務。引入zookeeper作為儲存媒介,也就把zookeeper的特性引了進來。
首先是負載平衡:單註冊中心的承載能力是有限的,在流量達到一定程度的時候需要分流,負載平衡就是為了分流而存在的,一個zookeeper叢集配合對應的web應用就很容易達到負載平衡;
資源同步:單單有負載平衡還不夠,節點之間的資料和資源是需要同步,zookeeper叢集就自然具備這樣的功能;
命名服務:將樹狀結構用於維護全域的服務位址列表,服務提供者在啟動的時候,向zookeeper上的指定節點目錄下寫入自己的URL位址,這個操作就完成了服務的發布
Mast:ZooKeeper能保證客戶端無法建立一個已經存在的ZNode。也就是說,如果同時有多個客戶端請求建立同一個臨時節點,那麼最終一定只有一個客戶端請求能夠建立成功。利用這個特性,就能很容易地在分散式環境中進行Master選舉了。
分散式鎖定:分散式鎖定是控制分散式系統之間同步存取共用資源的一種方式。 臨時節點就會被刪除,釋放鎖。正常執行完業務邏輯後,客戶端就會主動將自己建立的臨時節點刪除,釋放鎖定。
更多相關知識,請追蹤PHP中文網! !
以上是dubbo和zookeeper的關係是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。