dubbo 簡單搭建流程

近期項目用到了dubbo。這邊稍微記錄下搭建流程,給自己加深下印象,也留個記錄。

1、安裝zookeeper用來作爲dubbo的註冊中心。主要環節是配置zoo.cfg配置文件。具體安裝配置可參考:http://blog.csdn.net/huwei2003/article/details/49101269

2、dubbo-sdk項目創建。該項目是消費者和服務提供者溝通的橋樑,其中定義了api的接口,服務提供者進行具體實現,消費者進行使用。不一定要一定是項目,也可以是jar包之類,能保證被引用就行。

具體如圖,只是簡單的一個接口。


3、dubbo-register服務提供者項目創建。該項目用來實現接口,同時在註冊中心進行註冊。接口實現和一般項目一樣。重點在於dubbo相關的配置。如下圖所示,配置分兩塊,一塊是暴露服務地址,一塊是暴露服務接口。暴露的服務地址是啓動的zookeeper地址,暴露的接口中的ref是實現的bean的id。和spring相似。

<dubbo:registry address="zookeeper://10.20.38.95:2181"></dubbo:registry>
<dubbo:service interface="com.durgan.test.api.TestRegister" ref="testRegister" />



4、dubbo-client的實現。dubbo是消費者,可以直接使用服務提供者提供的實現。使用方式和正常項目一樣。重點同樣在於dubbo相關配置。如圖所示,重點同樣是兩塊,暴露地址,配置要引用的接口。

<dubbo:registry address="zookeeper://10.20.38.95:2181"></dubbo:registry> 
<dubbo:reference interface="com.durgan.test.api.TestRegister" id="testRegister" />



5、關於這幾項配置解釋:

dubbo:registry 標籤一些屬性的說明:
      1)register是否向此註冊中心註冊服務,如果設爲false,將只訂閱,不註冊。
      2)check註冊中心不存在時,是否報錯。
      3)subscribe是否向此註冊中心訂閱服務,如果設爲false,將只註冊,不訂閱。
      4)timeout註冊中心請求超時時間(毫秒)。
      5)address可以Zookeeper集羣配置,地址可以多個以逗號隔開等。


  dubbo:service標籤的一些屬性說明:
     1)interface服務接口的路徑
     2)ref引用對應的實現類的Bean的ID
     3)registry向指定註冊中心註冊,在多個註冊中心時使用,值爲<dubbo:registry>的id屬性,多個註冊中心ID用逗號分隔,如果不想將該服務註冊到任何registry,可將值設爲N/A
     4)register 默認true ,該協議的服務是否註冊到註冊中心。

 dubbo:reference 的一些屬性的說明:
      1)interface調用的服務接口
      2)check 啓動時檢查提供者是否存在,true報錯,false忽略
      3)registry 從指定註冊中心註冊獲取服務列表,在多個註冊中心時使用,值爲<dubbo:registry>的id屬性,多個註冊中心ID用逗號分隔
      4)loadbalance 負載均衡策略,可選值:random,roundrobin,leastactive,分別表示:隨機,輪循,最少活躍調用

6、項目用到的相關jar包:

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.5.3</version>
        </dependency>
        
         <dependency>
            <groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
        </dependency>
  
      <dependency>
      <groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
      </dependency>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章