Dubbo |ˈDʌBəʊ|是一個高性能的基於RPC的java開源框架由阿里巴巴 (摘錄自dubbo.io官方網站)
下面我們來整合下Maven+Spring+dubbo。提供一個服務者服務
1、使用zookeeper註冊中心暴露服務地址,需要下載zookeeper-3.4.6,並安裝配置zookeeper.
共享鏈接:鏈接:https://pan.baidu.com/s/1geYmFrP 密碼:19lz
1、先將zookeeper解壓
2、進入zookeeper-3.4.6\conf
3、將zoo_sample.cfg 重命名爲 zoo.cfg
4、打開並編輯dataDir=D:\\Java\\Tool\\zookeeper-3.4.6\\tmp
5. 與Java中的做法類似,我們在系統環境變量中添加:
a. 在系統變量中添加ZOOKEEPER_HOME = D:\Java\Tool\zookeeper-3.4.6
b. 編輯path系統變量,添加爲路徑%ZOOKEEPER_HOME%\bin;
6. 在zoo.cfg文件中修改默認的Zookeeper端口(默認端口2181)
7、打開cmd 輸入zkServer 啓動Zookeeper
2、在項目中添加相關的依賴
3、編寫服務類並配置spring.xml
4、啓動服務
5、我們添加一個dubbo服務的監控的war包,把它放到tomcat下,下載地址:鏈接:https://pan.baidu.com/s/1eREBYts 密碼:bri7
下載dubbo-admin-2.4.1.war包,在Linux的tomcat部署,先把dubbo-admin-2.4.1放在tomcat的webapps/ROOT下,然後進行解壓:
#jar -xvf dubbo-admin-2.4.1.war
(2)然後到webapps/ROOT/WEB-INF下,有一個dubbo.properties文件,裏面指向Zookeeper ,使用的是Zookeeper 的註冊中心,內容爲:
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.admin.root.password=root
dubbo.admin.guest.password=guest
(3)然後啓動tomcat服務,用戶名和密碼:root,並訪問服務,顯示登陸頁面,說明dubbo-admin部署成功,如圖所示:
我們可以看到我們發佈的服務:
到此爲止我們的服務已經發布出去了,下一步我們將實現服務接口的調用
在上面我們創建了服務,我們還需要提供一個jar包,裏面包含我們的接口。單純的一個java小項目然後導出成一個jar包就可以,如圖:
導出的jar包放到我們的customer項目中。然後加入到build path中。
customer項目中的pom.xml和上面一樣,只是spring.xml內容不一樣了,如圖
這裏我們訂閱了zookeeper註冊中心的這個服務,調用:
package com.zpl.customer.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.zpl.dubbo.IDubboProviderService;
@Controller
public class DubboCustomerController {
@Autowired
private IDubboProviderService demoService;
@RequestMapping("hello")
public void say(String str){
String s=demoService.sayHello("你好啊");
System.out.println(s);
}
}
啓動服務後我們可以看到打印出來: Hello 你好啊。
有一點忘記說了。
在spring.xml中引用dubbo標籤的時候報錯,原因是我們沒有將dubbo的xsd文件引進來,我們需要在maven本地倉庫中找到阿里的dubbo.jar包。解壓後找到dubbo.xsd
這個文件,然後配置到eclipse的xml設置中,如:
這樣以後clean下項目 然後maven update下就可以了。
dubbo的使用這裏只是簡單的應用,後期如果用到複雜的遇到問題我們在說。。。
有必要說下zookeeper:
稍後補充: