天天看點

Dubbo入門-Dubbo Demo示範

關于本文

本文是一個dubbo的入門demo,目的在于快速入門

dubbo是什麼

一款分布式服務架構

高性能和透明化的rpc遠端服務調用方案

soa服務治理方案

dubbo入門demo

了解了dubbo以後,自然要搭建一個簡單的demo實作。

由于dubbo需要一個注冊中心,本文采用的是zookeeper.

主要是以下幾個步驟:

安裝zookeeper,啟動;

建立maven項目,建構dubbo+zookeeper+spring實作的簡單demo;

安裝dubbo-admin,實作監控。

本文不是講zookeeper的,是以關于zookeeper的安裝請移步這篇教程。

Dubbo入門-Dubbo Demo示範

建立好的maven項目如圖所示,其中provider和consumer都依賴api.前者是服務提供者,後者是服務消費者。

下面将詳細叙述代碼建構過程。

首先建構maven項目,導入所需要的jar包依賴。 需要導入的有spring, dubbo, zookeeper等jar包。 其中dubbodemo的pom.xml如下

建立dubbo-api的maven項目(有獨立的pom.xml,用來打包供提供者消費者使用)。 在項目中定義服務接口:該接口需單獨打包,在服務提供方和消費方共享。

Dubbo入門-Dubbo Demo示範

demoservice

建立dubbo-provider的maven項目(有獨立的pom.xml,用來打包供消費者使用)。 實作公共接口,此實作對消費者隐藏:

Dubbo入門-Dubbo Demo示範

pom.xml

demoserviceimpl

provider

provider.xml

log4j.xml

建立dubbo-consumer的maven項目(可以有多個consumer,但是需要配置好)。 調用所需要的遠端服務:

Dubbo入門-Dubbo Demo示範

consumer

consumer.xml

運作項目,先確定provider已被運作後再啟動consumer子產品

dubbo管理控制台介紹

下載下傳dubbo-admin,可自行根據網上介紹安裝。大緻做法就是将dubbo-admin中 的某個檔案夾内容替換到tomcat的conf中,再運作tomcat即可。但我在實際操作中發現jdk8無法運作,後來找到一個jdk8可以實作的dubbo-admin版本,下載下傳位址:http://www.itmayun.com/it/files/226631678709806/resource/901920001882583/1.html。

成功開啟輸入使用者名密碼root後,即可進入控制台首頁檢視消費者提供者情況: 可能會出現看不到服務的情況,如果出現請看這篇教程

Dubbo入門-Dubbo Demo示範
Dubbo入門-Dubbo Demo示範

整個項目的代碼已經上傳到我的github上,位址

dubbo深入

dubbo 支援的9種協定

dubbo負載均衡政策及對應源碼分析

dubbo使用之容錯機制