隨著網際網路的發展,**應用的規模不斷的擴大,常規的垂直架構已無法應對,分布式框架以及流動計算架構應運而生,亟需乙個治理系統確保架構有條不紊的演進。
垂直應用架構
分布式計算架構
流動計算架構
節點角色說明
-provider:暴露服務的服務方提供方
-consumer:呼叫遠端服務的服務消費方
-registry:服務註冊與發現的註冊中心
-monitor:統計服務的呼叫次數和呼叫時間的監控中心
-container:服務執行容器
呼叫關係說明:
• 0. 服務容器負責啟動,載入,執行服務提供者。
• 1. 服務提供者在啟動時,向註冊中心註冊自己提供的服務。
• 2. 服務消費者在啟動時,向註冊中心訂閱自己所需的服務。
• 3. 註冊中心返回服務提供者位址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給消費者。
• 4. 服務消費者,從提供者位址列表中,基於軟負載均衡演算法,選一台提供者進行呼叫,如果呼叫失敗,再選另一台呼叫。
• 5. 服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心。
dubbo採用全spring配置方式,透明化接入應用,對應用沒有任何api侵入,只需用spring載入dubbo的配置即可,dubbo基於spring的schema擴充套件進行載入。
單一工程中spring的配置
class="com.***.***serviceimpl" />
id="***action"
class="com.***.***action">
name="***service"
ref="***service" />
在本地服務的基礎上,只需做簡單配置,即可完成遠端化:
將上面的local.xml配置拆分成兩份,將服務定義部分放在服務提供方remote-provider.xml,將服務引用部分放在服務消費方remote-consumer.xml。
並在提供方增加暴露服務配置,在消費方增加引用服務配置。
發布服務:
id="***service"
class="com.***.***serviceimpl" />
inte***ce="com.***.***service"
ref="***service" />呼叫服務:
id="***service"
inte***ce="com.***.***service" />
id="***action"
class="com.***.***action">
name="***service"
ref="***service" />
bean>
GoFramework框架簡介(四)dubbo篇
框架中dubbo配置說明 provider端配置如下 重要屬性說明 屬性說明 dubbo.host 可以控制dubbo訪問的網路許可權,設定為空則以內網位址發布服務 dubbo.port dubbo服務的埠號 dubbo.group dubbo組名,只有同組的服務才可相互呼叫 dubbo.timeo...
alibaba遠端呼叫框架dubbo原理
alibaba有好幾個分布式框架,主要有 進行遠端呼叫 類似於rmi的這種遠端呼叫 的 dubbo hsf jms訊息服務 napoli notify kv資料庫 tair 等。這個框架 工具 產品在實現的時候,都考慮到了容災,擴充套件,負載均衡,於是出現乙個配置中心 configserver 的東...
alibaba遠端呼叫框架dubbo原理
alibaba有好幾個分布式框架,主要有 進行遠端呼叫 類似於rmi的這種遠端呼叫 的 dubbo hsf jms訊息服務 napoli notify kv資料庫 tair 等。這個框架 工具 產品在實現的時候,都考慮到了容災,擴充套件,負載均衡,於是出現乙個配置中心 configserver 的東...