分佈式服務框架

本博客轉自git項目advancejava

dubbo 工作原理

• 第一層:service 層,接口層,給服務提供者和消費者來實現的
• 第二層:config 層,配置層,主要是對 dubbo 進行各種配置的
• 第三層:proxy 層,服務代理層,無論是 consumer 還是 provider,dubbo 都會給你生成代理,代理之間進行網絡通信
• 第四層:registry 層,服務註冊層,負責服務的註冊與發現
• 第五層:cluster 層,集羣層,封裝多個服務提供者的路由以及負載均衡,將多個實例組合成一個服務
• 第六層:monitor 層,監控層,對 rpc 接口的調用次數和調用時間進行監控
• 第七層:protocal 層,遠程調用層,封裝 rpc 調用
• 第八層:exchange 層,信息交換層,封裝請求響應模式,同步轉異步
• 第九層:transport 層,網絡傳輸層,抽象 mina 和 netty 爲統一接口
• 第十層:serialize 層,數據序列化層

工作流程
• 第一步:provider 向註冊中心去註冊
• 第二步:consumer 從註冊中心訂閱服務,註冊中心會通知 consumer 註冊好的服務
• 第三步:consumer 調用 provider
• 第四步:consumer 和 provider 都異步通知監控中心

註冊中心掛了可以繼續通信嗎?

可以,因爲剛開始初始化的時候,消費者會將提供者的地址等信息拉取到本地緩存,所以註冊中心掛了可以繼續通信。

發佈了107 篇原創文章 · 獲贊 15 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章