1、前言
經過10多天的努力,surging 閘道器已經有了大致的雛形,後面還會持續更新完善,請大家持續關注研發的動態
最近也更新了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 = "獲取使用者")]
屬性列表
基於zookeeper配置
.UseZooKeeperRouteManager(new ConfigInfo("127.0.0.1:2181"))
針對於程式碼已經完成, api 閘道器可以輸入http://localhost:729/進行訪問,然後你會看到下面的介面
6、總結
API閘道器有了大致的雛形,下面會持續完善Api閘道器,並且會重構Zookeeper 節點管理和增加檔案配置來代替程式碼。如感興趣請多關注或者加入QQ群:542283494