- 功能:高性能服務框架:提供服務(把一些業務分離,變成服務,供他人調用)
- 原理:RPC遠程服務調用。SOA服務治理,Reactor模型通訊框架:tcp長鏈接
- 角色:provider(服務提供者),consumer(調用服務的消費者),registry(註冊中心),monitor(統計服務調用時間、次數的監控中心),container服務運行容器
- 關係:
-
- container負責啓動、加載、運行provider
- provider啓動時,向registry註冊提供的服務
- consumer啓動時,向registry訂閱所需的服務
- registry返回provider的地址列表給consumer,若是有變動,registry將基於長鏈接推送變動數據給consumer
- consumer從provider的地址列表中,基於軟負載均衡算法,選一臺provider調用,調用失敗選另外一臺。
- provider和consumer,在內存累計調用次數、時間定時每分鐘發送統計數據到monitor
以上是dubbo和zookeeper的理論概念,實踐可參考個人github上面的兩個小例子。
項目描述:兩個項目分別是生產者項目和消費者項目,爲了省事用springboot搭建,注意運行時能夠把生產者項目打包到本地倉庫,方便消費者項目的調用。