dubbo 是乙個分布式服務框架,致力於提供高效能和透明化的rpc遠端服務呼叫方案,可以和spring框架無縫整合。
dubbo 採用的是一種非常簡單的模型,要麼是提供方提供服務,要麼是消費方消費服務,所以基於這一點可以抽象出服務提供方(provider)和服務消費方(consumer)兩個角色。
dubbo 致力於提供高效能和透明化的rpc遠端服務呼叫方案,以及soa服務治理方案;
①服務定義:服務是圍繞服務提供方和服務消費方的,服務提供方實現服務,而服務消費方呼叫服務。
②服務註冊:對於服務提供方,它需要發布服務,而且由於應用系統的複雜性,服務的數量、型別也不斷膨脹;對於服務消費方,它最關心如何獲取到它所需要的服務,而面對複雜的應用系統,需要管理大量的服務呼叫。而且,對於服務提供方和服務消費方來說,他們還有可能兼具這兩種角色,即需要提供服務,又需要消費服務。
通過將服務統一管理起來,可以有效地優化內部應用對服務發布/使用的流程和管理。服務註冊中心有如下幾種型別可供選擇:
multicast註冊中心(測試)、zookeeper註冊中心(官方推薦)、redis註冊中心、******註冊中心
③服務監控
無論是服務提供方,還是服務消費方,他們都需要對服務呼叫的實際狀態進行有效的監控,從而改進服務質量。
④遠端通訊與資訊交換
遠端通訊需要指定通訊雙方所約定的協議,在保證通訊雙方理解協議語義的基礎上,還要保證高效、穩定的訊息傳輸。dubbo繼承了當前主流的網路通訊框架,主要包括如下幾個:
1.2.1註冊中心
public
inte***ce service
1.2.2服務提供方
(一)實現類
/*
* 服務提供方
* */
public
class
userserviceimpl implements service
}
(二)配置檔案
!--應用名稱--
>
"userservice_provider"
/>
<
!--指定註冊中心的位址--
>
"multicast:"
/>
<
!--使用協議和埠號--
>
"dubbo" port=
"20880"
/>
<
!--發布服務介面 ref放實現類--
>
="cn.tx.service.service"
ref=
"userservice"
/>
<
!--使用bean管理實現類--
>
"userservice"
class
="cn.tx.service.impl.userserviceimpl"
/>
<
/beans>
(三)測試方法
public
class
userservletboot
}
1.2.3服務消費方
(一)配置檔案
!--應用名稱--
>
"userservice_consumer"
/>
<
!--註冊中心的位址--
>
"multicast:"
/>
<
!--可以使用服務--
>
="cn.tx.service.service" id=
"userservice"
/>
<
/beans>
(二)測試方法
@runwith
(springjunit4classrunner.
class
)@contextconfiguration
("classpath:dubbo_consumer.xml"
)public
class
consumertest
}
初識分布式服務框架dubbo
dubbo是乙個分布式服務框架,以及soa治理方案。其功能主要包括 高效能nio通訊及多協議整合,服務動態定址與路由,軟負載均衡與容錯,依賴分析與降級等。dubbo底層是tcp協議的netty nio spring boot底層是http協議 dubbo的七大標籤 config 配置層,對外配置介面...
Dubbo (開源分布式服務框架)
provider 暴露服務方稱之為 服務提供者 consumer 呼叫遠端服務方稱之為 服務消費者 registry 服務註冊與發現的中心目錄服務稱之為 服務註冊中心 monitor 統計服務的呼叫次數和呼叫時間的日誌服務稱之為 服務監控中心 1 連通性 註冊中心負責服務位址的註冊與查詢,相當於目錄...
Dubbo 分布式服務
隨著網際網路的發展,應用的規模不斷擴大,常規的垂直應用架構已無法應對,分布式服務架構以及流動計算架構勢在必行,亟需乙個治理系統確保架構有條不紊的演進。垂直應用架構 分布式服務架構 流動計算架構 在大規模服務化之前,應用可能只是通過rmi或hessian等工具,簡單的暴露和引用遠端服務,通過配置服務的...