1. 程式人生 > >Dubbo分散式服務框架入門(附工程)

Dubbo分散式服務框架入門(附工程)

要想了解Dubbo是什麼,我們不防先了解它有什麼用。 
使用場景:比如我想開發一個網上商城專案,這個網上商城呢,比較複雜,分為pc端web管理後臺,微信端銷售公眾號,那麼我們分成四個專案,pc端網站,微信端網站,還有一個後臺服務專案,介面服務專案。

對資料庫的操作的相關介面放到介面服務專案,這些介面的實現放在後臺服務專案,pc端網站和微信端網站都依賴介面服務專案,呼叫後臺資料庫資料。在這種場景下就是應該使用Dubbo這種分散式服務框架了。當然這只是Dubbo的一個最淺顯的功能。

有些猿友可能會問到了,為什麼搞那麼多各專案啊,不是自找麻煩麼。當你一個專案越來越複雜的時候,是必須要怎麼幹的,至於為什麼,慢慢會有體會。

下面我們馬上介紹Dubbo:

一、Dubbo概念介紹(必須看!)

1.1、Dubbo是什麼? 
Dubbo是一個分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,以及SOA服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分散式的需求,其實是不需要用的,只有在分散式的時候,才有dubbo這樣的分散式服務框架的需求,並且本質上是個服務呼叫的東東,說白了就是個遠端服務呼叫的分散式框架

其核心部分包含: 
1》遠端通訊: 提供對多種基於長連線的NIO框架抽象封裝,包括多種執行緒模型,序列化,以及“請求-響應”模式的資訊交換方式。 
2》叢集容錯: 提供基於介面方法的透明遠端過程呼叫,包括多協議支援,以及軟負載均衡,失敗容錯,地址路由,動態配置等叢集支援。 
3》自動發現: 基於註冊中心目錄服務,使服務消費方能動態的查詢服務提供方,使地址透明,使服務提供方可以平滑增加或減少機器。

1.2. Dubbo能做什麼?

1.透明化的遠端方法呼叫,就像呼叫本地方法一樣呼叫遠端方法,只需簡單配置,沒有任何API侵入。 
2.軟負載均衡及容錯機制,可在內網替代F5等硬體負載均衡器,降低成本,減少單點。 
3. 服務自動註冊與發現,不再需要寫死服務提供方地址,註冊中心基於介面名查詢服務提供者的IP地址,並且能夠平滑新增或刪除服務提供者。

1.3. dubbo的架構

dubbo架構圖如下所示:

這裡寫圖片描述

節點角色說明: 
Provider: 暴露服務的服務提供方。 
Consumer: 呼叫遠端服務的服務消費方。 
Registry: 服務註冊與發現的註冊中心。 
Monitor: 統計服務的呼叫次調和呼叫時間的監控中心。 
Container: 服務執行容器。

對於這些角色來說,其他都還好,Monitor可能猿友們前期使用會把它忽略,但是後期會發現它的作用十分明顯哦,如服務的呼叫量越來越大,服務的容量問題就暴露出來,這個服務需要多少機器支撐?什麼時候該加機器?為了解決這個問題,第一步,要將服務現在每天的呼叫量,響應時間,都統計出來,作為容量規劃的參考指標。其次,要可以動態調整權重,在線上,將某臺機器的權重一直加大,並在加大的過程中記錄響應時間的變化,直到響應時間到達閥值,記錄此時的訪問量,再以此訪問量乘以機器數反推總容量。

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

1.4. dubbo使用方法

Dubbo採用全Spring配置方式,透明化接入應用,對應用沒有任何API侵入,只需用Spring載入Dubbo的配置即可,Dubbo基於Spring的Schema擴充套件進行載入。如果不想使用Spring配置,而希望通過API的方式進行呼叫(不推薦) 
Dubbo採用全Spring配置方式,透明化接入應用,對應用沒有任何API侵入,只需用Spring載入Dubbo的配置即可,Dubbo基於Spring的Schema擴充套件進行載入。

二、註冊中心、消費者、提供者搭建例項

只看理論不動手實踐好意思說自己是程式設計師麼?!!!必須搭建起來看看到底是什麼樣的! 
或許你在公司有人搭建好給你使用,但是如果你不自己搭建一次,那麼很難去理解它的架構,而且一些配置檔案你不知道是什麼,那麼你一旦遇到一些問題,自己很難去解決。因此,十分建議猿友自己動手實踐一下。

更好的檢視目前釋出的介面的消費者和提供者,因此一般都會配置dubbo-admin,方便監控。一般企業使用dubbo也會搭建一個dubbo-admin的,因此建議猿友們也嘗試去搭建一下,流程是比較簡單的。關於dubbo-admi的搭建請看博文:http://blog.csdn.net/u013142781/article/details/50396621,寫的也是非常的詳細。

2.1、Zookeeper的搭建

2.2、配置提供者

2.2.1、建立provider專案如下:

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

2.2.2、配置pom.xml,如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.luo</groupId>
  <artifactId>provider</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <properties>  
      <spring.version>3.2.8.RELEASE</spring.version>  
  </properties>  

  <dependencies>  
      <dependency>  
          <groupId>com.alibaba</groupId>  
          <artifactId>dubbo</artifactId>  
          <version>2.5.3</version>  
          <exclusions>  
              <exclusion>  
                  <groupId>org.springframework</groupId>  
                  <artifactId>spring</artifactId>  
              </exclusion>  
          </exclusions>  
      </dependency>  
      <dependency>  
          <groupId>com.github.sgroschupf</groupId>  
          <artifactId>zkclient</artifactId>  
          <version>0.1</version>  
      </dependency>  
      <!-- spring相關 -->  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-core</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-beans</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-context</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-jdbc</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-web</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-webmvc</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-aop</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-tx</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-orm</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-context-support</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-test</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-jms</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
  </dependencies>  
</project>

2.2.3、新增配置檔案、介面和介面實現

這裡寫圖片描述

src/main/java下新增包:com.luo.service,然後裡面新增介面TestService.java:

package com.luo.service;

public interface TestService {
    public String getName();
}

src/main/java下新增包:com.luo.service.impl,然後裡面新增介面實現類TestServiceImpl.java:

package com.luo.service.impl;

import com.luo.service.TestService;

public class TestServiceImpl implements TestService {

    public String getName() {
        return "luoguohui";
    }

}

src/main/resources下新增配置檔案application.xml:

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
        http://www.springframework.org/schema/beans/spring-beans.xsd  
        http://code.alibabatech.com/schema/dubbo  
        http://code.alibabatech.com/schema/dubbo/dubbo.xsd ">   
    <!-- 具體的實現bean -->  
    <bean id="testService" class="com.luo.service.impl.TestServiceImpl" />  
    <!-- 提供方應用資訊,用於計算依賴關係 -->  
    <dubbo:application name="provider"  />    
    <!-- 使用zookeeper註冊中心暴露服務地址 -->  
    <dubbo:registry address="zookeeper://127.0.0.1:2181" />     
    <!-- 用dubbo協議在20880埠暴露服務 -->  
    <dubbo:protocol name="dubbo" port="29014" />  
    <!-- 宣告需要暴露的服務介面 -->  
    <dubbo:service interface="com.luo.service.TestService" ref="testService" />  
</beans> 

src/test/java下新增包com.luo.service,然後裡面新增服務測試類TestServiceTest.java:

package com.luo.service;

import java.io.IOException;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class TestServiceTest {

    public static void main(String[] args) {  
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(    
                new String[]{"application.xml"});    
        context.start();   
        System.out.println("提供者服務已註冊成功");    
        try {  
            System.in.read();//讓此程式一直跑,表示一直提供服務  
        } catch (IOException e) {         
            e.printStackTrace();  
        }    
    }  

}

2.2.4、執行,注意順序,一定嚴格安照下面的順序

1、執行zookeeper

這裡寫圖片描述

這裡寫圖片描述

不要關閉黑框,讓它開啟著,zookeeper 2、執行dubbo-admin,這裡博主之前已經把它的war包放到tomcat的webapps下了,因此只需要執行tomcat(記得執行tomcat之前一定要把其啟動埠改成8090,原因請看博文http://blog.csdn.net/u013142781/article/details/50396621),好啟動tomcat:

這裡寫圖片描述

這裡寫圖片描述

然後訪問localhost:8090/dubbo-admin-2.5.4-SNAPSHOT,結果如下(使用者名稱/密碼:root/root),說明啟動dubbo-admin成功了

這裡寫圖片描述

3、執行TestServiceTest,Run As –>Java Application,會看到控制檯如下:

這裡寫圖片描述

保持這個provider一直啟動著。 同時在duubo-admin上搜索:com.luo.service.TestService,會看到如下結果:

這裡寫圖片描述

這裡寫圖片描述

ok,提供者完成!

2.3、配置消費者

2.3.1、建立maven專案,流程跟provider一樣,這裡我起的專案名為consumer,配置pom.xml檔案,如下:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.luo</groupId>
  <artifactId>consumer</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <properties>  
      <spring.version>3.2.8.RELEASE</spring.version>  
  </properties>  

  <dependencies>  
      <!-- 新增provider的jar包 -->  
      <dependency>  
          <groupId>com.luo</groupId>  
          <artifactId>provider</artifactId>  
          <version>0.0.1-SNAPSHOT</version>  
      </dependency>  
      <!-- 新增dubbo依賴 -->  
      <dependency>  
          <groupId>com.alibaba</groupId>  
          <artifactId>dubbo</artifactId>  
          <version>2.5.3</version>  
          <exclusions>  
              <exclusion>  
                  <groupId>org.springframework</groupId>  
                  <artifactId>spring</artifactId>  
              </exclusion>  
          </exclusions>  
      </dependency>  
      <!-- 新增zk客戶端依賴 -->  
      <dependency>  
          <groupId>com.github.sgroschupf</groupId>  
          <artifactId>zkclient</artifactId>  
          <version>0.1</version>  
      </dependency>  
      <!-- spring相關 -->  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-core</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-beans</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-context</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-jdbc</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-web</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-webmvc</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-aop</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-tx</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-orm</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-context-support</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-test</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
      <dependency>  
          <groupId>org.springframework</groupId>  
          <artifactId>spring-jms</artifactId>  
          <version>${spring.version}</version>  
      </dependency>  
  </dependencies>  
</project>

其實就是在provider的基礎上添加了如下依賴(provider的依賴):

 <!-- 新增provider的jar包 -->  
 <dependency>  
     <groupId>com.luo</groupId>  
     <artifactId>provider</artifactId>  
     <version>0.0.1-SNAPSHOT</version>  
 </dependency>  

2.3.2、新增如下兩個檔案

這裡寫圖片描述

application.xml內容如下:

<?xml version="1.0" encoding="UTF-8"?>  
<beans xmlns="http://www.springframework.org/schema/beans"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"  
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
        http://www.springframework.org/schema/beans/spring-beans.xsd  
        http://code.alibabatech.com/schema/dubbo  
        http://code.alibabatech.com/schema/dubbo/dubbo.xsd ">        
    <!-- 消費方應用名,用於計算依賴關係,不是匹配條件,不要與提供方一樣 -->  
    <dubbo:application name="consumer" />     
      <!-- 使用multicast廣播註冊中心暴露發現服務地址 -->  
    <dubbo:registry  protocol="zookeeper" address="zookeeper://127.0.0.1:2181" />       
      <!-- 生成遠端服務代理,可以和本地bean一樣使用demoService -->  
    <dubbo:reference id="testService" interface="com.luo.service.TestService" />  
</beans> 

ConsumerServiceTest.java的內容如下:

package com.luo.service;

import java.io.IOException;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class ConsumerServiceTest {

    public static void main(String[] args) {
        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(
                new String[] { "application.xml" });
        context.start();
        TestService testService = (TestService) context.getBean("testService");
        System.out.println(testService.getName());
        try {
            System.in.read();
        } catch (IOException e) {       
            e.printStackTrace();
        }  

    }

}

2.3.3、執行 在保持zookeeper、dubbo-admin和provider執行著的基礎上,執行ConsumerServiceTest.java,Run As –> Java Application,會看到控制檯如下:

這裡寫圖片描述

控制檯內容luoguohui就是提供者打印出來的 另外也會看到dubbo-admin中com.luo.service.TestService有消費者了:

這裡寫圖片描述 ok,完成!

3、原始碼下載(本人自己打的war包)

可用tomcat直接啟動

相關推薦

Dubbo分散式服務框架入門(工程)

要想了解Dubbo是什麼,我們不防先了解它有什麼用。  使用場景:比如我想開發一個網上商城專案,這個網上商城呢,比較複雜,分為pc端web管理後臺,微信端銷售公眾號,那麼我們分成四個專案,pc端網站,微信端網站,還有一個後臺服務專案,介面服務專案。 對資料庫的操作的相關

Dubbo分散式服務框架入門工程

要想了解Dubbo是什麼,我們不防先了解它有什麼用。 使用場景:比如我想開發一個網上商城專案,這個網上商城呢,比較複雜,分為pc端web管理後臺,微信端銷售公眾號,那麼我們分成四個專案,pc端網站,微信端網站,還有一個後臺服務專案,介面服務專案。 對資料庫的

Dubbo分散式服務框架入門實戰(原始碼)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Maven聚合工程Dubbo分散式服務框架,SpringMVC,前後端分離專案

<!--spring載入--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring/

一篇文章帶你深入瞭解Dubbo分散式服務框架

一、產生的背景 隨著網際網路的發展,網站應用的規模不斷擴大,常規的垂直應用架構已無法應對,分散式服務架構以及流動計算架構勢在必行,亟需一個治理系統確保架構有條不紊的演進。下面我們用一個圖來具體說明架構和開發框架的演進過程。單一應用架構當網站流量很小時,只需一個應用,將所有功能都部署在一起,以減少部署節點和成

Dubbo分散式服務框架搭建

一、zookeeper安裝與啟動 1.前往https://www.apache.org/dyn/closer.cgi/zookeeper/下載zookeeper。 2.將路徑zookeeper-3.5.2-alpha\conf下zoo_sample.cfg 改名為 zoo.cfg。 3.

阿里P8“架構師”帶你深入瞭解Dubbo分散式服務框架

一、產生的背景 隨著網際網路的發展,網站應用的規模不斷擴大,常規的垂直應用架構已無法應對,分散式服務架構以及流動計算架構勢在必行,亟需一個治理系統確保架構有條不紊的演進。下面我們用一個圖來具體說明架構和開發框架的演進過程。   單一應用架構 當網站流量很小時,只需一個

第五十四章:Dubbo分散式服務框架

Dubbo官網 什麼是Dubbo? 它有什麼特點?它的優點是什麼? 為什麼要使用它?有什麼功能?Dubbo能做什麼?   什麼是Dubbo? 1.Dubbo是一個分散式服務框架。 說明:如果沒有分散式的需求,其實是不需要用的,只有在分散式的時候,才有dubbo這

Maven多模組,Dubbo分散式服務框架,SpringMVC,前後端分離專案,基礎搭建,搭建過程出現的問題

1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apac

Dubbo分散式服務框架】2.基於配置的服務提供者和消費者

一個使用Dubbo的系統架構圖如下: 可分為以下幾個角色: (1)Provider:暴露服務的服務提供方。 (2)Consumer:呼叫遠端服務的服務消費方。 (3)Registry:服務註冊與發現的註冊中心。 (4)Monitor:統計服務的呼叫次調和呼叫時間的監控中心。

阿里巴巴分散式服務框架dubbo學習筆記

Dubbo是什麼? Dubbo是一個分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,以及SOA服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分散式的需求,其實是不需要用的,只有在分散式的時候,才有dubbo這樣的分散式服務框架的需求,並且本質上是個服務呼叫的東東,說

Dubbo阿里Alibaba開源的分散式服務框架

Dubbo是什麼? Dubbo是阿里巴巴SOA服務化治理方案的核心框架,每天為2,000+個服務提供3,000,000,000+次訪問量支援,並被廣泛應用於阿里巴巴集團的各成員站點。 Dubbo是一個分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,以及SOA服務治理方案。 其

Dubbo(x)相關(分散式服務框架

Dubbo Dubbo是阿里的分散式服務框架,基於zookeeper實現,已於12年底停止維護升級 Dubbox是噹噹團隊基於dubbo升級的一個版本 與zookeeper的關係:Dubbo將註冊中心進行抽象,使得它可以外接不同的儲存媒介給註冊中心提供服務,有ZooKeeper,Memc

dubbo(開源分散式服務框架)-demo

dubbo-demo-api  提供服務者和消費者都需要介面名和方法名才能呼叫 dubbo-demo-consumer  服務消費者(消費者) dubbo-demo-provider 服務提供者(生產者) dubbo-demo-parent maven父版本提供者

dubbo(開源分散式服務框架)1---------Dubbo需要四大基本元件

Dubbo需要四大基本元件:Registry、Monitor、Provider、Consumer。  Provider:提供者 Consumer:消費者 registry:註冊中心(相當於中介) monitor:監控中心(dubbo自己的監控專案,直接解壓在tomcat下就

高可用分散式服務框架搭建(Dubbo、ZooKeeper)

以下是官方例項部署方法。此處涉及四個服務: zookeeper:註冊中心 dubbo-admin:服務管理後臺 dubbo-demo-provider:生產者(服務提供者) dubbo-demo-consumer:消費者(服務使用者) 需要注意的是,必

分散式服務框架原理與實踐李林鋒著》pdf網盤下載連結送給還在迷茫的你

Detect languageAfrikaansAlbanianAmharicArabicArmenianAzerbaijaniBasqueBelarusianBengaliBosnianBulgarianCatalanCebuanoChichewaChinese (Simplified)Chines

Dubbo-一個分散式服務框架

Dubbo的簡單介紹 Dubbo是一個分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,說的簡單點,其最最最基本作用就是:高效的應用程式之間的通訊。如果服務越來越多,容量的評估,小服務資源的浪費等問題,這時Dubbo就是資源排程和治理中心的管理

分散式服務框架Dubbo的配置

一、Dubbo常用配置 dubbo:service 服務配置,用於暴露一個服務,定義服務的元資訊,一個服務可以用多個協議暴露,一個服務也可以註冊到多個註冊中心。 eg、<dubbo:service ref=“demoService” interface=

分散式服務框架-Dubbo

Dubbo是什麼 Dubbo是: 一款分散式服務框架 高效能和透明化的RPC遠端服務呼叫方案 SOA服務治理方案 每天為2千多個服務提供大於30億次訪問量支援,並被廣泛應用於阿里巴巴集團的各成員站點以及別的公司的業務中。 Dubbo架構 Provider: 暴