為什麼要使用Dubbo

2021-08-30 11:25:36 字數 1269 閱讀 2768

為什麼要使用dubbo

一般專案初期的單應用架構如下:

隨著使用者量的增多,可以增加應用伺服器進行負載,短期內可以產生非常大的成效,但是長期來看投入產出比會逐漸的下降。這時候會對服務進行拆分。

各種業務層、服務層之間的呼叫一定是通過某種遠端rpc技術進行呼叫。這時候就涉及到以下幾個問題:

1.位址維護(當服務越來越多時,服務 url 配置管理變得非常困難);

2.負載均衡(當服務越來越多時,f5 硬體負載均衡器的單點壓力也越來越大);

3.限流/容錯/降級;

4.鏈路監控;

如果我們使用比如webservice或者簡單的使用http進行呼叫是沒有辦法解決這幾個問題的。因為這些技術只能實現乙個遠端的呼叫,但是在大規模服務化後很多問題都無法解決。dubbo就是其中一種解決方案。

1.關於位址服務,這時候需要乙個服務註冊中心,動態的註冊和發現服務,使服務的位置透明;

2. 通過在消費方獲取服務提供方位址列表,實現軟負載均衡和 failover,降低對 f5 硬體負載均衡器的依賴,也能減少部分成本。 

3.當進一步發展,服務間依賴關係變得錯蹤複雜,甚至分不清哪個應用要在哪個應用之前啟動,架構師都不能完整的描述應用的架構關係。 這時需要自動畫出應用間的依賴關係圖,以幫助架構師理清理關係。 

4.服務的呼叫量越來越大,服務的容量問題就暴露出來,這個服務需要多少機器支撐?什麼時候該加機器? 

在大規模服務化之前,應用可能只是通過 rmi 或 hessian 等工具,簡單的暴露和引用遠端服務,通過配置服務的url位址進行呼叫,通過 f5 等硬體進行負載均衡。

當服務越來越多時,服務 url 配置管理變得非常困難,f5 硬體負載均衡器的單點壓力也越來越大。此時需要乙個服務註冊中心,動態的註冊和發現服務,使服務的位置透明。並通過在消費方獲取服務提供方位址列表,實現軟負載均衡和 failover,降低對 f5 硬體負載均衡器的依賴,也能減少部分成本。

當進一步發展,服務間依賴關係變得錯蹤複雜,甚至分不清哪個應用要在哪個應用之前啟動,架構師都不能完整的描述應用的架構關係。這時,需要自動畫出應用間的依賴關係圖,以幫助架構師理清理關係。

以上是 dubbo 最基本的幾個需求。

為什麼要使用blog

有哥們問我,你為什麼使用blog?我總結了一下,覺得有如下幾個原因。1對自己的督促 有了blog,就會經常記得寫點東西 就會經常翻翻網上的新文章,了解一下新技術,不至於迷失在忙碌的生活中 如果把自己的所感所想所學寫出了,自己對自己也會有個概念,不至於迷迷糊糊 還有,畢竟是掛在網上的文字,心中難免擔心...

為什麼要使用XML

xml 代表擴充套件標記語言 extensible markup language 是由 world wide web consortium w 3c 的 xml工作組定義的。這個工作組是這樣描述該語言的 擴充套件標記語言 xml 是 sgml 的子集,其目標是允許普通的 sgml 在web 上以目...

為什麼要使用Nginx?

有人說這些基準測試是不準確的,因為在這樣那樣的環境下,做的比較不一致。我傾向同意基準測試只是告訴了我們其中一部分情況,你能做的是消除偏見 有人見過所有人都同意乙個基準測試是公平的嗎?我是沒見過。我們投資的一些公司把web平台切換到nginx後,可以顯著的解決擴充套件問題。nginx明顯有效的實現了今...