dubbo是公司選擇rpc框架時首先會去選擇的框架,好好了解dubbo框架是乙個合格程式設計師的必經之路。這裡作為dubbo的入門篇,把一些概念和官方文件搞清楚一定是最應該開始的步驟。
隨著網際網路的發展,**應用的規模不斷擴大,常規的垂直應用架構已無法應對,分布式服務架構以及流動計算架構勢在必行,亟需乙個治理系統確保架構有條不紊的演進。
在大規模服務化之前,應用只能通過rmi或者hessian等工具,簡單的暴露和引用遠端服務,通過配置服務的url位址進行呼叫,通過f5等硬體進行負載均衡。
此時的訴求是,**當服務越來越多時,服務的url配置就會變得非常複雜,負載均衡越來越難做。**此時就需要乙個服務註冊中心,動態的註冊和發現服務,使服務的位置透明。並且通過在消費方獲取服務提供方位址列表,實現軟負載均衡和failover(服務提供方掛掉之後的容災)。這也是後來我們常見的註冊中心zk、etcd等。
當進一步發展,服務間的依賴關係變得錯綜複雜,架構關係很難去理清楚,這時候就有乙個dubbo治理的需求。
當服務的呼叫量越來越大,服務的容量問題就暴露出來,這個服務需要多少機器支撐?什麼時候該加機器?為了解決這些問題,第一步,將服務每天的呼叫量,響應時間,都統計出來,作為容量規劃的參考指標。其次,可以動態調整權重,把某台機器的權重一直加大,並在加大的過程中記錄響應時間的變化,直到響應時間到達閾值,記錄此時的訪問量,再以此時訪問量乘以機器數反推可以承受的總容量。
節點角色說明
provider
暴露服務的服務提供方
consumer
呼叫遠端服務的服務消費方
registry
服務註冊和發現的註冊中心
monitor
統計服務的呼叫次數和呼叫時間的監控中心
container
服務執行容器
可以看到dubbo架構具有以下幾個特點:連通性、健壯性、伸縮性、以及向未來架構的擴充套件公升級性。
連通性
健壯性
伸縮性
公升級性當服務集群規模進一步擴大,帶動it治理結構進一步公升級,需要實現動態部署,進行流動計算,現有分布式服務架構不會帶來阻力。下圖是未來可能的一種架構:
節點說明:
節點角色說明
deployer
自動部署服務的本地**
repository
倉庫用於儲存服務應用發布包
scheduler
排程中心基於訪問壓力自動增減服務提供者
admin
統一管理控制台
registry
服務註冊和發現的註冊中心
monitor
統計服務的呼叫次數和呼叫時間的監控中心
dubbo 入門例子(dubbo一)
registry註冊中心 provider服務中心 consumer消費中心 專案搭建過程 dubbo demo dubbo order dubbo order api dubbo order provider dubbo user dubbo user api dubbo user provide...
Dubbo基礎認識
分布式架構主要存在的問題 遠端服務呼叫是實現分布式的關鍵因素.1.1.需要考慮底層網路通訊協議的處理 1.2.需要考慮序列化和反序列化的處理 大規模服務化對於服務治理的要求。2.1.服務鏈路變長,需要對服務鏈路跟蹤和監控 2.2.服務的大規模集群使得服務之間需要依賴第三方註冊中心來解決服務的發現和服...
dubbo基礎學習
dubbo是乙個分布式服務框架,致力於提供高效能和透明化的rpc遠端服務呼叫方案,以及soa服務治理方案。其核心部分包含 遠端通訊 提供對多種基於長連線的nio框架抽象封裝,包括多種執行緒模型,序列化,以及 請求 響應 模式的資訊交換方式。集群容錯 提供基於介面方法的透明遠端過程呼叫,包括多協議支援...