基於.NET CORE微服務框架 -Api網關服務管理
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開源實現,是
安裝&配置
在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配置
.UseZooKeeperRouteManager(new ConfigInfo("127.0.0.1:2181"))
針對於代碼已經完成, api 網關可以輸入http://localhost:729/進行訪問,然後你會看到下面的界面
6、總結
API網關有了大致的雛形,下面會持續完善Api網關,並且會重構Zookeeper 節點管理和增加文件配置來代替代碼。如感興趣請多關註或者加入QQ群:615562965
基於.NET CORE微服務框架 -Api網關服務管理