Dubbox 分佈式服務框架
概念
- dubbox 屬於dubbo的升級版,用在分佈式的項目中,是一種分佈式服務框架,
- 特點
- RPC 遠程服務調用
- RPC 遠程服務調用
- 特點
實現不同進程之間的通信,例如分佈式項目中,查詢品牌的Service,在運營商管理後臺Control中調用,就實現的不同服務器直接的數據交互,又例如在android中的分享功能,微信同QQ之間進程相互喚醒機制;在這些又涉及到心跳,長連接,短連接等等
SOA 服務治理
服務的治理,從名字可以理解對於服務進行監聽,監管,可以在dubbox後臺查看服務的註冊,消費的次數,時間等信息,同時也可以將web層 service層進行分離,實現多對多的關係
原理實現
service一啓動就會部署到tomcat容器中,同時向zookeeper註冊中心建立長連接,註冊服務,另一邊通過這個從註冊中心去訂閱服務,也是長連接,一旦連接失效,dubbox通過軟負載算法推薦另一個低負載的service供其調用。
下圖是目前市面上主流的分佈式項目圖解,朋友們可以參考一下
-
dubbox源碼編譯,部署到tomcat中
下載dubbox源碼包 dubbox-master.zip ,將此壓縮包解壓,在命令符下進入 dubbo-admin 目錄 ,輸入 maven 命令
mvnpackage-Dmaven.skip.test=true
進入 target 文件夾,你會看到一個 dubbo-admin-2.8.4.war ,將其放到tomcat中webapp中就可以了
如果你部署在 zookeeper 同一臺主機並且端口是默認的 2181,則無需修改任何配置。 如果不是在一臺主機上或端口被修改,需要修改 WEB-INF 下的 dubbo.properties ,修改如 下配置:
dubbo.registry.address=zookeeper://127.0.0.1:2181
打開瀏覽器,輸入 http://192.168.25.132:8080/dubbo-admin/ ,登錄用戶名和密碼均爲 root 進入首頁,之後在這個後臺界面大家就可以看到自己部署的service了