這是我學習dubbox的第一步,主要是了解dubbox的歷史,和他的工作流程。
一. dubbox是什么
Dubbox 是一個分布式服務框架,其前身是阿里巴巴開源項目Dubbo ,被國內電商及互聯網項目中使用,后期阿里巴巴停止了該項目的維護,當當網便在Dubbo基礎上進行優化,並繼續維護,為了與原有的Dubbo區分,故將其命名為Dubbox。
Dubbox 致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。簡單的說,dubbox就是個服務框架,如果沒有分布式的需 求,其實是不需要用的,只有在分布式的時候,才有dubbox這樣的分布式服務框架的需求,並且本質上是個服務調用的東東,說白了就是個遠程服務調用的分布式框架。
二.dubbox的組成
節點角色說明
Provider: 暴露服務的服務提供方。
Consumer:調用遠程服務的服務消費方。
Registry:服務注冊和發現的注冊中心。
Monitor:統計服務的調用次調和調用時間的監控中心。
Container:服務運行容器。
調用關系說明
0.服務運行容器啟動,加載,運行服務提供者。
1.服務提供者在啟動時,向注冊中心注冊自己提供的服務。
2.服務消費者在啟動時,向注冊中心訂閱自己所需的服務。
3.注冊中心返回服務提供者地址列表給消費者,如果有變更,注冊中心將基於長連接的方式,向消費者推送變更數據。
4.服務消費者,從注冊中心提供的地址列表中,基於軟負載均衡算法,選一台服務提供者進行調用,如果調用失敗,就另外在選一台。
5.服務消費者和提供者,在內存中累計調用次數和調用時間,定時每分鍾發送一次統計數據到監控中心。