1. 程式人生 > >基於.NET CORE微服務框架 -Api閘道器服務管理

基於.NET CORE微服務框架 -Api閘道器服務管理

最近也更新了surging新的版本

更新內容:

1. 擴充套件Zookeeper封裝
2. 增加服務元資料
3. 增加API閘道器

開源地址:https://github.com/dotnetcore/surging

2.軟體環境

IDE:Visual Studio 2017 15.3 Preview ,vscode
框架:.NET core 2.0

依賴程式:Zookeepe、Rabbitmq

vscode 技術支援:

周松柏(zsbfre)

3.Zookeeper 安裝

ZooKeeper是分散式應用程式協調服務,是Google的Chubby開源實現,是hadoop的重要元件,CDH版本中更是使用它進行Namenode協調控制。而Surging 則基於Zookeeper 作為註冊中心

 

安裝&配置

在apache的官方網站提供了好多映象下載地址,然後找到對應的版本,目前最新的是3.3.6

下載地址:

http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz

 

Windows下安裝

 

把下載的zookeeper的檔案解壓到指定目錄

D:\zookeeper>

修改conf下增加一個zoo.cfg

內容如下:

# The number of milliseconds of each tick  心跳間隔 毫秒每次

tickTime=2000

# The number of ticks that the initial

# synchronization phase can take

initLimit=10

# The number of ticks that can pass between

# sending a request and getting anacknowledgement

syncLimit=5

# the directory where the snapshot isstored.  //映象資料位置

dataDir=/tmp/zookeeper

# the port at which the clients willconnect  客戶端連線的埠

clientPort=2181

 

進入到bin目錄,並且啟動zkServer.cmd,這個指令碼中會啟動一個Java程序

D:\zookeeper>cd   bin

D:\zookeeper\bin>

D:\zookeeper\bin >zkServer.cmd

啟動客戶端執行檢視一下

D:\zookeeper\bin>zkCli.cmd  127.0.0.1:2181

 

這個時候zookeeper已經安裝成功了,

 

參考官方文件:

 

http://zookeeper.apache.org/doc/trunk/zookeeperStarted.html

 

4.API 閘道器

surging 的api 閘道器分為資料監控‘、服務管理‘、資料安全、身份認證、流量控制、分流控制。此節將介紹下服務管理,其它功能將在下幾篇文章介紹

服務管理

針對於服務我們需要管理以下操作

服務機器:針對於服務部署的機器,我們需要平臺進行管理監控,如發生異常,則通過API閘道器進行告警

元資料:通過元資料我們可以查詢到相關服務的註解,如名稱、負責人、更新時間

關聯消費:通過關聯消費可以做到有哪些消費客戶端進行呼叫消費

以上操作,可以有效管理部署在各臺機器上的服務,減少了人力成本的維護。

以下通過示例來介紹如何使用

在業務介面方法上新增如下特性

  [Service(Date = "2017-8-11", Director = "fanly", Name = "獲取使用者")]

屬性列表

引數

作用

Name

方法名稱

Date

更新日期

Director

負責人

 

 

 

 

基於zookeeper配置

1

.UseZooKeeperRouteManager(new ConfigInfo("127.0.0.1:2181"))

針對於程式碼已經完成, api 閘道器可以輸入http://localhost:729/進行訪問,然後你會看到下面的介面

6、總結

API閘道器有了大致的雛形,下面會持續完善Api閘道器,並且會重構Zookeeper 節點管理和增加檔案配置來代替程式碼。