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

第1章 Dubbo基礎

1.1 初識Dubbo

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

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

本節(jié)概要介紹使用Dubbo構(gòu)建的分布式系統(tǒng)架構(gòu)中各個組件服務的作用以及相互關(guān)系,其中各個組件之間的關(guān)系如圖1.1所示。

圖1.1是Dubbo的架構(gòu)圖,其中:

圖1.1

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

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

· Registry負責服務注冊與發(fā)現(xiàn)。

· Monitor為監(jiān)控中心,統(tǒng)計服務的調(diào)用次數(shù)和調(diào)用時間。

以上各個組件的調(diào)用關(guān)系如下:

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

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

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

主站蜘蛛池模板: 云安县| 汤原县| 文安县| 荆门市| 峨边| 静宁县| 苍溪县| 海门市| 高台县| 山阳县| 昆山市| 龙口市| 海阳市| 海宁市| 密山市| 法库县| 财经| 南开区| 霸州市| 克拉玛依市| 新绛县| 塔城市| 南溪县| 鲁山县| 廊坊市| 永善县| 金溪县| 天水市| 呼和浩特市| 汤原县| 仪陇县| 涞源县| 清丰县| 岳普湖县| 合山市| 错那县| 和顺县| 柳河县| 磴口县| 江都市| 上蔡县|