首頁 > 軟體

Dubbo+zookeeper 最簡單的分散式搭建方案

2022-04-03 13:00:05

Dubbo+zookeeper 最簡單的分散式搭建

介紹:本例採用 dubbo+zookeeper 搭建分散式系統,環境 jdk1.8

執行介紹:啟動 zookeeper - 啟動服務提供者 - 啟動服務消費者
整個專案的程式碼已上傳到github,https://github.com/brotherAndy/dubbo,歡迎檢視。
整個專案的程式碼已上傳csdn下載頻道,http://xiazai.jb51.net/202204/yuanma/dubbo_master_jb51.rar,歡迎下載。

分散式架構:
1.當垂直應用越來越多,應用之間互動不可避免,將核心業務抽取出來,作為獨立的服務,逐漸形成穩定的服務中心,前端應用能更快速的響應多變的市場需求。
2.此時,用於提高業務複用及整合的 分散式服務架構(RPC) 是關鍵。

Dubbo 是什麼

  • 一款分散式服務架構
  • 高效能和透明化的RPC遠端服務呼叫方案
  • SOA服務治理方案

Dubbo 架構流程圖

Provider:服務提供方
Consumer:服務消費者
Registry:註冊中心
Monitor:統計服務呼叫次數和呼叫時間的監控中心

呼叫流程
0.啟動服務提供者。
1.服務提供者在啟動時,向註冊中心註冊自己提供的服務。
2.服務消費者在啟動時,向註冊中心訂閱自己所需的服務。
3.註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連線推播變更資料給消費者。
4.服務消費者,從提供者地址列表中,基於軟負載均衡演演算法,選一臺提供者進行呼叫,如果呼叫失敗,再選另一臺呼叫。
5.服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心。

註冊中心
服務提供方:針對所提供的服務到註冊中心釋出。
服務消費方:到服務中心訂閱所需的服務。
對於任何一方,不論服務提供方或者服務消費方都有可能同時兼具兩種角色,即需要提供服務也需要消費服務。

架構搭建案例

1.zookpeeper 安裝

去官網下載 zookpeeper

把包下載後,解壓到目錄,例如:D:softwareworkzookeeper (解壓後更名為zookeeper)
修改zoo_sample.cfg 檔名(D:softwareworkzookeeperconf) 為 zoo.cfg
主要更改組態檔裡面的紀錄檔目錄,如下:
dataDir=D:zookeeperdata
dataLogDir=D:zookeeperlog

啟動
進入到bin目錄,並且啟動zkServer.cmd,如圖:

2.建立maven工程

工程分為4個結構

  • dubbo 工程,主工程,主要匯入公共jar包等
  • dubbo-api 工程,公共介面
  • dubbo-provider 工程,服務提供者
  • dubbo-consumer-user 和 dubbo-consumer 工程,服務消費者

(注:每個工程都是獨立的,通過maven 引入父子關係)
1.建立dubbo 的maven 主工程
建立步驟省略,主要匯入相關jar包等,具體請檢視給到原始碼的pom.xml,此工程暫僅設定pom.xml,沒有其他操作

2.建立dubbo-api 的maven 介面工程
主要定義介面,並設定好pom.xml

3.建立dubbo-provider 的maven 工程
服務提供者,實現公共介面的實現,此實現對消費者隱藏

加入公共介面所在的依賴

介面實現

用Spring設定宣告服務

服務者啟動(前提啟動 zookeeper)

4.建立dubbo-consumer-user 的maven 工程(可以有多個consumer,設定跟上)
服務消費者,實現公共介面的實現,呼叫服務

通過Spring參照服務

啟動consumer ,呼叫服務

5.執行專案,順序:zookeeper –> dubbo-provider –> dubbo-consumer-user

執行結果

3.dubbo-admin 搭建

提供介面化管理dubbo 服務

dubbo-admin的下載,可自行到官網下載:https://github.com/alibaba/dubbo

下載後把war包放入tomcat的webapps目錄下,啟動tomcat

瀏覽器輸入:http://localhost:8080/dubbo-admin/
預設賬號: root 密碼:root

效果圖:
服務列表

服務詳細

整個專案的程式碼已上傳到github,https://github.com/brotherAndy/dubbo,歡迎檢視。
整個專案的程式碼已上傳csdn下載頻道,http://xiazai.jb51.net/202204/yuanma/dubbo_master_jb51.rar,歡迎下載。

到此這篇關於Dubbo+zookeeper 最簡單的分散式搭建方案的文章就介紹到這了,更多相關Dubbo+zookeeper分散式內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com