微服務架構 Consul gateway

之前寫過一篇關於集羣 Consul   負載均衡https://blog.csdn.net/qq_38559484/article/details/104041267的文章

裏面的記錄現在看來是沒有寫全,所有現在在補充一份(重新寫了一次)也是爲了讓自己加深印象

新加了輪詢,權重 均衡策略,網關gataway  緩存 熔斷 限流

環境  win10,開發工具 VS2019

能夠完成 consul示例  要感謝朝夕教育的Eleven 老師,看他的視頻寫的

流程圖

流程圖應該沒畫錯,中間包括了服務的註冊與發現,服務的健康檢查,

代碼我就沒分開

服務端很簡單,webapi走起

 ConsulHelper,服務的註冊,裏面設置了一些屬性 主要是服務的健康檢查 ,服務註冊到consul,每隔一段時間就去調用一下服務 這樣就是健康檢查,若是超過多少時間沒有響應,將在consul裏刪除服務。

        若是這個服務地址A之前註冊到consul裏,後來出現異常,從consul裏刪除,在重新啓用該服務地址A,那麼consul裏也會重新添加該服務地址A

▶在consul集羣之前,單服務實例的時候,客戶端直接調用服務地址

▶在consul集羣后,只需要找到對應的consul地址,根據負載均衡策略調用服務地址

▶在用網關後 只需要配置好網關對應的consul地址,就等於訪問consul一樣 

 

在沒有網關之前,客戶端需要訪問consul裏的服務,需要寫上一大堆代碼來發現和調用consul裏的服務

有了網關之前,這些操作都可以刪除,

 

 調用網關,最重要的就是配置網關的配置文件  configuration.json

限流和熔斷暫時沒試。 

幾條命令:

1 啓動 consul

consul agent -dev

2 啓用服務

dotnet  SK.MicServices.Servicesinstance.dll --urls="http://*:4557" --ip="127.0.0.1" --port=4557 --weight=1
dotnet  SK.MicServices.Servicesinstance.dll --urls="http://*:4558" --ip="127.0.0.1" --port=4558 --weight=3
dotnet  SK.MicServices.Servicesinstance.dll --urls="http://*:4559" --ip="127.0.0.1" --port=4559 --weight=6

port 是端口,weight 是權重  若是輪詢或者平均分配 則可以不用weight

3最後是啓動 網關

dotnet  SK.MicServices.GatewayDemo.dll  --urls="http://*:9527" --ip="127.0.0.1" --port=9527

這裏注意,之前我想把端口設置爲 666 或者888這樣的  結果訪問不了 換個端口就可以了

結果圖:

調用網關結果:這裏做了緩存,在不同的時間刷新的,可以看到調用同一個網關地址,返回不同的服務端口

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章