dubbo官方文件閱讀

2022-06-09 15:15:08 字數 1638 閱讀 3869

一、入門

整體架構:單一架構

垂直架構:mvc

分布式服務架構:rpc

流計算架構:

當服務越來越多時,容量評估變得困難,而且小規模的服務也經常造成資源浪費。為了解決這些問題,應新增排程中心,以根據流量管理集群容量並提高集群利用率。目前,用於提高機器利用率的資源排程和治理中心(soa)是關鍵。

在大型服務出現之前,應用程式可能只是通過使用rmi或hessian公開或引用遠端服務,呼叫是通過配置服務url來完成的,而負載平衡是通過硬體(如f5)來完成的。當服務越來越多時,配置服務url變得非常困難,f5硬體負載平衡器的單點壓力也在增加。此時,需要乙個服務登錄檔來動態註冊和發現服務,以使服務的位置透明。通過獲取服務提供商位址列表,可以實現軟負載平衡和故障轉移,從而減少了對f5硬體負載平衡器的依賴性以及某些成本。

當事情進一步發展時,服務依賴關係變得如此複雜,以至於甚至連架構師也無法完全描述應用程式架構之間的關係。這時,需要自動繪製應用程式的依賴關係圖,以幫助架構師清除關係。

然後,流量變得更大,服務的容量問題暴露出來,需要多少臺機器來支援該服務?何時應新增機器?

服務提供者和消費者只在啟動時與註冊中心互動,註冊中心不**請求

服務消費者向註冊中心獲取服務提供者位址列表,並根據負載演算法直接呼叫提供者,如果失敗,它將選擇另乙個provider。

服務提供者無狀態,可動態增加機器部署例項,註冊中心將推送新的服務提供者資訊給消費者

服務提供者全部宕掉後,服務消費者應用將無法使用,並無限次重連等待服務提供者恢復

註冊中心,服務提供者,服務消費者三者之間均為長連線,監控中心除外。

註冊中心通過長連線感知服務提供者的存在,服務提供者宕機,註冊中心將立即推送事件通知消費者

註冊中心為對等集群,可動態增加機器部署例項,所有客戶端將自動發現新的註冊中心。

監控中心和註冊中心全部宕機,不影響已執行的提供者和消費者,消費者在本地快取了提供者列表;註冊中心和監控中心都是可選的,服務消費者可以直連服務提供者。

consumer和provider都會計算記憶體中呼叫服務的次數和耗時,並將統計資訊傳送到monitor每分鐘。

二、快速啟動

dubbo 採用全 spring 配置方式,透明化接入應用,對應用沒有任何 api 侵入,只需用 spring 載入 dubbo 的配置即可,dubbo 基於 spring 的 schema 擴充套件 進行載入。

dubbo服務介面需單獨打包,在服務提供方和消費方共享

三、成熟度

分布式事務        

research       

jta/xa三階段提交事務            

不穩定          

不可用              

dubbo協議

stable

採用nio復用單一長連線,並使用執行緒池併發處理請求,減少握手和加大併發效率,效能較好(推薦使用)

在大檔案傳輸時,單一連線會成為瓶頸

可用於生產環境

alibaba

Spring官方文件閱讀筆記

beanpostprocessor.postprocessafterinstantiation 鉤子 型別轉化convertifnecessary spring建立bean的詳細過程 sqlsessiontemplate.selectlist sqlsessiontemplate.invoke de...

react hook 官方文件閱讀筆記

usestate 是在函式呼叫時儲存變數的方式 usestate是一種新方法,它與 class 裡面的this.state提供的功能完全相同。一般來說,在函式退出後變數就會 消失 而 state 中的變數會被 react 保留。const count,setcount usestate 0 括號裡邊...

openstack 官方文件閱讀之cells(二)

首次安裝 由於只有乙個api資料庫,因此它的連線資訊儲存在nova.conf檔案中。api database connection mysql pymysql root secretmysql dbserver nova api?charset utf8 由於可能存在多個 cell 資料庫 實際上每...