最近學習了一下dubbo,是阿里巴巴公司的一個開源服務框架。目前我們公司實現兩個不同系統的之間通信,是采用了Oracle的OSB作為服務的管理(即企業服務總線的一種實現),服務提供方在OSB上注冊業務服務,OSB根據業務服務生成一個代理服務。服務消費方根據代理服務地址,即wsdl文件,生成客戶端。然后進行方法的調用,從而實現不同系統之間的通信。
在實際項目上,當我們的業務越來越復雜,如果還在一個系統繼續開發,系統會越來越顯得臃腫,而且不利於維護。於是,可以根據業務進行划分,例如,財務模塊可以單獨作為一個系統開發,人力模塊也可以單獨作為一個系統開發等等,當各個模塊之間要進行通信的時候,可以采用上述所說的OSB實現,或者webservice實現。而Dubbo也可以,相對目前我所接觸到方法中,dubbo實現是最簡單的,dubbo的工作原理如下:
(1)Provider:暴露服務方稱之為“服務提供者”。
(2)Consumer:調用遠程服務方稱之為“服務消費者”。
(3)Registry:服務注冊中心,使用zookeeper作為服務注冊中心。
(4)Monitor:服務監控中心,可以查看服務提供者,服務消費者信息等。
接下來我們先把服務監控中心以及zookeeper集群搭建起來。
(1)zookeeper集群搭建可以參考之前寫過的博客,地址:http://www.cnblogs.com/gdpuzxs/p/7126241.html
(2)服務監控中心搭建:(1)dubbo-admin的下載,官網下載:https://github.com/alibaba/dubbo 解壓后,如下:
(2)我們這里只需要用到dubbo-admin,進入該文件夾,打包war包,如下:(不知道為啥一直打包不成功,后面在網上搜到一個已經打包成功的war包,地址:http://download.csdn.net/detail/u013142781/9376337)
(3)接下來我們將打包成功的war包部署到tomacat,啟動tomcat服務器,如下:
(4)停止tomcat服務器,進入到tomcat解壓生成的dubbo.properties,如下:
(5)打開dubbo.properties,內容如下:
dubbo.registry.address=zookeeper://127.0.0.1:2181 dubbo.admin.root.password=root dubbo.admin.guest.password=guest
修改一下zookeeper的地址,以及監控中心的root,guest的賬戶登錄密碼。
(6)下面先啟動zookeeper集群,在啟動tomcat服務器,訪問地址:http://172.31.19.222:8090/dubbo-admin-2.5.4-SNAPSHOT/,如下:
至此,dubbo監控中心搭建完成!