首頁 常見問題 dubbo和zookeeper的關係是什麼?

dubbo和zookeeper的關係是什麼?

Apr 16, 2020 pm 05:03 PM
dubbo zookeeper

dubbo和zookeeper的關係是什麼?以下這篇文章跟大家介紹dubbo和zookeeper的關係。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

dubbo和zookeeper的關係是什麼?

Dubbo建議使用Zookeeper作為服務的註冊中心。

1、Zookeeper的作用:

zookeeper用來註冊服務和進行負載平衡,哪一個服務由哪一個機器來提供必要讓呼叫者知道,簡單來說就是ip位址和服務名稱的對應關係。當然也可以透過硬編碼的方式把這種對應關係在呼叫方業務代碼中實現,但是如果提供服務的機器掛掉呼叫者無法知曉,如果不更改代碼會繼續請求掛掉的機器提供服務。 zookeeper透過心跳機制可以偵測掛掉的機器並將掛掉機器的ip和服務對應關係從清單中刪除。至於支援高並發,簡單來說就是橫向擴展,在不更改程式碼的情況透過添加機器來提高運算能力。透過增加新的機器向zookeeper註冊服務,服務的提供者多了能服務的客戶就多了。

2、dubbo的作用:

Dubbo是管理中間層的工具,在業務層到資料倉儲間有非常多服務的存取和服務提供者需要調度,dubbo提供一個框架來解決這個問題。 

注意這裡的dub​​bo只是一個框架,至於你架子上放什麼是完全取決於你的,就像一個汽車骨架,你需要配你的輪子引擎。這個框架中要完成調度必須要有一個分散式的註冊中心,儲存所有服務的元數據,你可以用zk,也可以用別的,只是大家都用zk。

3、zookeeper和dubbo的關係:

Dubbo將註冊中心進行抽象,使得它可以外接不同的儲存媒介為註冊中心提供服務。引入zookeeper作為儲存媒介,也就把zookeeper的特性引了進來。

  • 首先是負載平衡:單註冊中心的承載能力是有限的,在流量達到一定程度的時候需要分流,負載平衡就是為了分流而存在的,一個zookeeper叢集配合對應的web應用就很容易達到負載平衡;

  • 資源同步:單單有負載平衡還不夠,節點之間的資料和資源是需要同步,zookeeper叢集就自然具備這樣的功能;

  • 命名服務:將樹狀結構用於維護全域的服務位址列表,服務提供者在啟動的時候,向zookeeper上的指定節點目錄下寫入自己的URL位址,這個操作就完成了服務的發布

  • Mast:ZooKeeper能保證客戶端無法建立一個已經存在的ZNode。也就是說,如果同時有多個客戶端請求建立同一個臨時節點,那麼最終一定只有一個客戶端請求能夠建立成功。利用這個特性,就能很容易地在分散式環境中進行Master選舉了。

  • 分散式鎖定:分散式鎖定是控制分散式系統之間同步存取共用資源的一種方式。                                               臨時節點就會被刪除,釋放鎖。正常執行完業務邏輯後,客戶端就會主動將自己建立的臨時節點刪除,釋放鎖定。

更多相關知識,請追蹤PHP中文網! !

以上是dubbo和zookeeper的關係是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Java API 開發中使用 ZooKeeper 進行分散式鎖定處理 Java API 開發中使用 ZooKeeper 進行分散式鎖定處理 Jun 17, 2023 pm 10:36 PM

隨著現代應用程式的不斷發展和對高可用性和並發性的需求日益增長,分散式系統架構變得越來越普遍。在分散式系統中,多個進程或節點同時運作並共同完成任務,進程之間的同步變得特別重要。由於分散式環境下許多節點可以同時存取共享資源,因此,在分散式系統中,如何處理並發和同步問題成為了一項重要的任務。在此方面,ZooKeeper已經成為了一個非常流行的解決方案。 ZooKee

SpringBoot+Dubbo+Nacos 開發實戰教程 SpringBoot+Dubbo+Nacos 開發實戰教程 Aug 15, 2023 pm 04:49 PM

本文來寫個詳細的例子來說下dubbo+nacos+Spring Boot開發實戰。本文不會講述太多的理論的知識,會寫一個最簡單的例子來說明dubbo如何與nacos整合,快速建構開發環境。

在Beego中使用ZooKeeper和Curator進行分散式協調和管理 在Beego中使用ZooKeeper和Curator進行分散式協調和管理 Jun 22, 2023 pm 09:27 PM

隨著互聯網的迅速發展,分散式系統已經成為了許多企業和組織中的基礎設施之一。而要讓一個分散式系統能夠正常運作,就需要對其進行協調和管理。在這方面,ZooKeeper和Curator是兩個非常值得使用的工具。 ZooKeeper是一個非常受歡迎的分散式協調服務,它可以幫助我們在一個叢集中協調各個節點之間的狀態和資料。 Curator則是對ZooKeeper進行封裝

Dubbo 為什麼用 Go 重寫? Dubbo 為什麼用 Go 重寫? Apr 10, 2023 pm 12:51 PM

[[443126]]先說兩句我常常在散步時思考很多技術上的「為什麼問題」,有時一個問題會想很久,直到問題的每一個點都能說服自己時,才算完結。於是想把這些思考記錄下來,形成文章,可以當作一個新的系列。這些文章中你可能看不到程式碼,但能窺探一些容易被忽略的問題,以及問題更深層的「為什麼」。今天帶來第1篇,Dubbo為什麼要用Go重寫?誕生於阿里巴巴,2011年開源的Dubbo已經走過了10個年頭。在2019年,它被用Go重寫並開源,如今兩年過去,已經從當初的V1.0.0版本發展到了V3.0.0,截

Dubbo源碼分析:小白入門篇 Dubbo源碼分析:小白入門篇 Aug 23, 2023 pm 02:44 PM

如果你已經對Dubbo熟練使用了,那這篇文章不太適合你,但如果想了解Dubbo,想學習Dubbo,那就非常適合你。

基於Java的分散式服務框架Dubbo的原理及範例分析 基於Java的分散式服務框架Dubbo的原理及範例分析 Apr 24, 2023 pm 08:13 PM

前言在介紹Dubbo之前先了解基本概念:Dubbo是一個RPC框架,RPC,即RemoteProcedureCall(遠端過程調用),相對的就是本地過程調用,在分散式架構之前的單體應用架構和垂直應用架構運用的都是本地過程呼叫。它允許程式呼叫另一個位址空間(通常是網路共享的另一台機器)的過程或函數,並且不用程式設計師明確編碼這個遠端呼叫的細節。而分散式架構應用與應用之間的遠端呼叫就需要RPC框架來做,目的就是為了讓遠端呼叫像本地呼叫一樣簡單。 Dubbo框架有以下部件Consumer即調用遠端服

分散式鎖用 Redis 還是 Zookeeper? 分散式鎖用 Redis 還是 Zookeeper? Aug 22, 2023 pm 03:48 PM

分散式鎖定的實作方式通常有:資料庫、快取(例如:Redis)、Zookeeper、etcd,實際開發中,使用的最多還是Redis和Zookeeper,所以,本文就只聊這兩種。

php如何使用PHP的Zookeeper擴充? php如何使用PHP的Zookeeper擴充? Jun 02, 2023 pm 09:01 PM

PHP是一種非常流行的程式語言,廣泛應用於Web應用程式和伺服器端開發。 Zookeeper是一個分散式的協調服務,用於管理、協調和監控分散式應用程式和服務。在PHP應用程式中使用Zookeeper可以提高應用程式的效能和可靠性。本文將介紹如何使用PHP的Zookeeper擴充。一、安裝Zookeeper擴充功能使用Zookeeper擴充功能需要安裝Zookeeper