原创 Dubbo 源碼分析 - 服務調用過程

注: 本系列文章已捐贈給 Dubbo 社區,你也可以在 Dubbo 官方文檔中閱讀本系列文章。 1. 簡介 在前面的文章中,我們分析了 Dubbo SPI、服務導出與引入、以及集羣容錯方面的代碼。經過前文的鋪墊,本篇文章我們終於可以分析服務

原创 Dubbo 源碼分析 - 集羣容錯之 LoadBalance

1.簡介 LoadBalance 中文意思爲負載均衡,它的職責是將網絡請求,或者其他形式的負載“均攤”到不同的機器上。避免集羣中部分服務器壓力過大,而另一些服務器比較空閒的情況。通過負載均衡,可以讓每臺服務器獲取到適合自己處理能力的負載。在

原创 Dubbo 源碼分析 - 集羣容錯之 Cluster

1.簡介 爲了避免單點故障,現在的應用至少會部署在兩臺服務器上。對於一些負載比較高的服務,會部署更多臺服務器。這樣,同一環境下的服務提供者數量會大於1。對於服務消費者來說,同一環境下出現了多個服務提供者。這時會出現一個問題,服務消費者需要決

原创 Dubbo 源碼分析 - 集羣容錯之 Router

1. 簡介 上一篇文章分析了集羣容錯的第一部分 -- 服務目錄 Directory。服務目錄在刷新 Invoker 列表的過程中,會通過 Router 進行服務路由。上一篇文章關於服務路由相關邏輯沒有細緻分析,一筆帶過了,本篇文章將對此進行

原创 Dubbo 源碼分析 - 集羣容錯之 Directory

1. 簡介 前面文章分析了服務的導出與引用過程,從本篇文章開始,我將開始分析 Dubbo 集羣容錯方面的源碼。這部分源碼包含四個部分,分別是服務目錄 Directory、服務路由 Router、集羣 Cluster 和負載均衡 LoadBa

原创 Dubbo 源碼分析 - 服務引用

1. 簡介 在上一篇文章中,我詳細的分析了服務導出的原理。本篇文章我們趁熱打鐵,繼續分析服務引用的原理。在 Dubbo 中,我們可以通過兩種方式引用遠程服務。第一種是使用服務直聯的方式引用服務,第二種方式是基於註冊中心進行引用。服務直聯的方

原创 Dubbo 源碼分析 - 服務導出

1.服務導出過程 本篇文章,我們來研究一下 Dubbo 導出服務的過程。Dubbo 服務導出過程始於 Spring 容器發佈刷新事件,Dubbo 在接收到事件後,會立即執行服務導出邏輯。整個邏輯大致可分爲三個部分,第一是前置工作,主要用於檢

原创 Dubbo 源碼分析 - SPI 機制

1.簡介 SPI 全稱爲 Service Provider Interface,是 Java 提供的一種服務發現機制。SPI 的本質是將接口實現類的全限定名配置在文件中,並由服務加載器讀取配置文件,加載實現類。這樣可以在運行時,動態爲接口替