官术网_书友最值得收藏!

第1章 Dubbo基礎

1.1 初識Dubbo

整體來說,一個公司業務系統的演進流程基本上都是從單體應用到多體應用。業務系統為單體應用時,不同業務模塊的相互調用直接在本地JVM進程內就可以完成;而變為多個應用時,相互之間進行通信的方式就不是簡單地進行本地調用了,因為不同業務模塊部署到了不同的JVM進程里,更常見的情況是部署到了不同的機器中,這時候,一個高效、穩定的RPC遠程調用框架就變得非常重要。

Dubbo是阿里巴巴開發的一個開源的高性能的RPC調用框架,是一個致力于提供高性能和透明化的RPC遠程調用服務解決方案。作為阿里巴巴SOA服務化治理方案的核心框架,目前它已從Apache孵化器項目畢業,其前景可謂無限光明。

本節概要介紹使用Dubbo構建的分布式系統架構中各個組件服務的作用以及相互關系,其中各個組件之間的關系如圖1.1所示。

圖1.1是Dubbo的架構圖,其中:

圖1.1

· Provider為服務提供者集群,服務提供者負責暴露提供的服務,并將服務注冊到服務注冊中心。

· Consumer為服務消費者集群,服務消費者通過RPC遠程調用服務提供者提供的服務。

· Registry負責服務注冊與發現。

· Monitor為監控中心,統計服務的調用次數和調用時間。

以上各個組件的調用關系如下:

· 服務提供方在啟動時會將自己提供的服務注冊到服務注冊中心。

· 服務消費方在啟動時會去服務注冊中心訂閱自己需要的服務的地址列表,然后服務注冊中心異步把消費方需要的服務接口的提供者的地址列表返回給服務消費方,服務消費方根據路由規則和設置的負載均衡算法選擇一個服務提供者IP進行調用。

· 監控平臺主要用來統計服務的調用次數和調用耗時,即服務消費者和提供者在內存中累計調用服務的次數和耗時,并每分鐘定時發送一次統計數據到監控中心,監控中心則使用數據繪制圖表來顯示。監控平臺不是分布式系統必需的,但是這些數據有助于系統的運維和調優。服務提供者和消費者可以直接配置監控平臺的地址,也可以通過服務注冊中心獲取。

主站蜘蛛池模板: 福泉市| 油尖旺区| 南木林县| 朝阳县| 博兴县| 鲁山县| 金阳县| 宝鸡市| 郴州市| 开封县| 彭州市| 克拉玛依市| 安义县| 鄄城县| 涡阳县| 囊谦县| 丹寨县| 缙云县| 信阳市| 普洱| 蓝山县| 合作市| 吉首市| 安义县| 台中市| 治县。| 饶阳县| 临沧市| 闸北区| 新源县| 宜城市| 合阳县| 杂多县| 开化县| 信宜市| 晋州市| 远安县| 卢龙县| 宁安市| 长兴县| 利川市|