日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

分布式框架Doubbo(入门级)

發布時間:2024/3/24 编程问答 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 分布式框架Doubbo(入门级) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、什么是Doubbo

Dubbo是一個分布式服務框架,致力于提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。簡單的說,dubbo就是個服務框架,如果沒有分布式的需求,其實是不需要用的,只有在分布式的時候,才有dubbo這樣的分布式服務框架的需求,并且本質上是個服務調用的東東,說白了就是個遠程服務調用的分布式框架(告別Web Service模式中的WSdl,以服務者與消費者的方式在dubbo上注冊)

Apache Dubbo |?d?b??| 提供了六大核心能力:面向接口代理的高性能RPC調用,智能容錯和負載均衡,服務自動注冊和發現,高度可擴展能力,運行期流量調度,可視化的服務治理與運維。

Dubbo 架構

節點角色說明

節點角色說明
Provider暴露服務的服務提供方
Consumer調用遠程服務的服務消費方
Registry服務注冊與發現的注冊中心
Monitor統計服務的調用次數和調用時間的監控中心
Container服務運行容器

調用關系說明

  • 0:服務容器負責啟動,加載,運行服務提供者。
  • 1:服務提供者在啟動時,向注冊中心注冊自己提供的服務。
  • 2:服務消費者在啟動時,向注冊中心訂閱自己所需的服務。
  • 3:注冊中心返回服務提供者地址列表給消費者,如果有變更,注冊中心將基于長連接推送變更數據給消費者。
  • 4:服務消費者,從提供者地址列表中,基于軟負載均衡算法,選一臺提供者進行調用,如果調用失敗,再選另一臺調用。
  • 5:服務消費者和提供者,在內存中累計調用次數和調用時間,定時每分鐘發送一次統計數據到監控中心。

2、Dubbo 架構具有以下幾個特點,分別是連通性、健壯性、伸縮性、以及向未來架構的升級性

連通性

  • 注冊中心負責服務地址的注冊與查找,相當于目錄服務,服務提供者和消費者只在啟動時與注冊中心交互,注冊中心不轉發請求,壓力較小
  • 監控中心負責統計各服務調用次數,調用時間等,統計先在內存匯總后每分鐘一次發送到監控中心服務器,并以報表展示
  • 服務提供者向注冊中心注冊其提供的服務,并匯報調用時間到監控中心,此時間不包含網絡開銷
  • 服務消費者向注冊中心獲取服務提供者地址列表,并根據負載算法直接調用提供者,同時匯報調用時間到監控中心,此時間包含網絡開銷
  • 注冊中心,服務提供者,服務消費者三者之間均為長連接,監控中心除外
  • 注冊中心通過長連接感知服務提供者的存在,服務提供者宕機,注冊中心將立即推送事件通知消費者
  • 注冊中心和監控中心全部宕機,不影響已運行的提供者和消費者,消費者在本地緩存了提供者列表
  • 注冊中心和監控中心都是可選的,服務消費者可以直連服務提供者

健壯性

  • 監控中心宕掉不影響使用,只是丟失部分采樣數據
  • 數據庫宕掉后,注冊中心仍能通過緩存提供服務列表查詢,但不能注冊新服務
  • 注冊中心對等集群,任意一臺宕掉后,將自動切換到另一臺
  • 注冊中心全部宕掉后,服務提供者和服務消費者仍能通過本地緩存通訊
  • 服務提供者無狀態,任意一臺宕掉后,不影響使用
  • 服務提供者全部宕掉后,服務消費者應用將無法使用,并無限次重連等待服務提供者恢復

伸縮性

  • 注冊中心為對等集群,可動態增加機器部署實例,所有客戶端將自動發現新的注冊中心
  • 服務提供者無狀態,可動態增加機器部署實例,注冊中心將推送新的服務提供者信息給消費者

升級性

當服務集群規模進一步擴大,帶動IT治理結構進一步升級,需要實現動態部署,進行流動計算,現有分布式服務架構不會帶來阻力。下圖是未來可能的一種架構:

節點角色說明
節點角色說明
Deployer自動部署服務的本地代理
Repository倉庫用于存儲服務應用發布包
Scheduler調度中心基于訪問壓力自動增減服務提供者
Admin統一管理控制臺
Registry服務注冊與發現的注冊中心
Monitor統計服務的調用次數和調用時間的監控中心

兩道經典面試題

Dubbo 和 Spring Cloud 有什么區別

兩個沒關聯,如果硬要說區別,有以下幾點。

1)通信方式不同

Dubbo 使用的是 RPC 通信,而 Spring Cloud 使用的是 HTTP RESTFul 方式。

2)組成部分不同

Dubbo默認使用什么注冊中心,還有別的選擇嗎?

推薦使用 Zookeeper 作為注冊中心,還有 Redis、Multicast、Simple 注冊中心,但不推薦。

Dubbo有哪幾種配置方式?

1)Spring 配置方式
2)Java API 配置方式

總結

以上是生活随笔為你收集整理的分布式框架Doubbo(入门级)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。