1. 程式人生 > 其它 >mysql資料庫設計欄位不為空

mysql資料庫設計欄位不為空

一、Dubbo架構圖詳解。

 

 

 1.節點角色說明

  • provider:暴露服務的服務提供方
  • Consumer:呼叫遠端服務的服務消費方
  • Registry:服務註冊與發現的註冊中心
  • Monitor:統計服務的呼叫次數和呼叫時間的監控中心
  • Container:服務執行容器

  虛線都是非同步訪問,實線都是同步訪問。

  藍色虛線:在啟動時完成的功能。

  紅色虛線(實線)都是程式執行過程中執行的功能。

2.呼叫關係說明

  1. 服務容器負責啟動,載入,執行服務提供者。
  2. 服務提供者在啟動時,向註冊中心註冊自己提供的服務。
  3. 服務提供者在啟動時,向註冊中心註冊自己提供的服務。
  4. 註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連線推送變更資料給 消費者。
  5. 服務消費者,從提供者地址列表中,基於軟負載均衡演算法,選一臺提供者進行呼叫,如果呼叫失敗,再選另一臺呼叫。
  6. 服務消費者和提供者,在記憶體中累計呼叫次數和呼叫時間,定時每分鐘傳送一次統計資料到監控中心。

二、服務註冊中心Zookeeper

  Dubbo官方推薦使用Zookeeper作為服務註冊中心

1.Zookeeper樹型目錄服務:

 

 

 2.流程詳細說明

  • 服務提供者(Provider)啟動時: 向 /dubbo/com.foo.BarService/providers 目錄下寫入自己的 URL 地址
  • 服務消費者(Consumer)啟動時: 訂閱 /dubbo/com.foo.BarService/providers 目錄下的提供者 URL 地址。並向 /dubbo/com.foo.BarService/consumers 目錄下寫入自己的 URL 地址
  • 監控中心(Monitor)啟動時: 訂閱 /dubbo/com.foo.BarService 目錄下的所有提供者和消費者 URL 地址

三、服務提供方和消費方開發需要引入的Dubbo相關依賴

<!-- dubbo相關 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.6.0</version>
</dependency>
<dependency
> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.7</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> <dependency> <groupId>javassist</groupId> <artifactId>javassist</artifactId> <version>3.12.1.GA</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.47</version> </dependency>