在之前的章節裡都是講述如何在程式中使用Bumblebee
來構建一個Webapi閘道器;但這樣顯然有些麻煩,畢竟很多時候可能只需要一個簡單負載處理,還需要寫個程式針對服務進行編寫程式碼或配置的確是比較麻煩的事情;如果有負載方面的調整還需要重新編譯部署這的確是很讓人頭痛的事情!為了解決這一問題這些時間針對Bumblebee
寫了個簡單的web管理外掛並編寫一個服務整合進去,只需要簡單地部署即可把閘道器搭建起來並用web管理配置負載服務。
服務安裝
首先伺服器要安裝dotnet core 2.14或更版本,作業系統(linux,windows均可);在不同系統中安裝.net core可以到https://dotnet.microsoft.com/download檢視詳細安裝指南 下載最新版本https://github.com/IKende/Bumblebee/tree/master/bin的BumblebeeServerx.x.x.zip
並解壓到相應的目錄中執行以下指令
- windows
dotnet Bumblebee.Server.dll 或 run.bat
- linux
dotnet Bumblebee.Server.dll 或 ./run.sh
如果看到以下日誌說明服務執行成功
元件預設啟用埠是9090
可以通過修改HttpConfig.json
來指寫其他埠或HTTPS服務
"Host": "",
"Port": 9090,
"SSL": false,
"CertificateFile": "",
"CertificatePassword": "",
Web管理配置
服務啟動後就可以通過web來管理閘道器的負載配置策略,可能通過http://gatewayip:9090/__admin/
來訪問管理;管理需要使用者登陸,預設使用者密碼是:admin
123456
;進入管理後介面如下:
進入介面後可以看到閘道器的處理狀況,主要包括CPU,併發和網路的詳細使用情況。當閘道器沒有配置服務負載策略時訪問會得到一個5XX的錯誤資訊,具體如下:
這個時候首先要配置負載的webapi服務,可以根據實際情況新增對應服務的域名或IP地址
閘道器會檢測服務的可用情況,如果服務不可用會顯示一個紅色燈的小圖示;服務新增完成後就要進行轉發路由設定
Bumblebee是以url來區分轉發,可以根據自己的需求制定多個Url正則匹配,每個匹配下面都可以新增N個負載服務。
*
是預設路由,當沒有匹配到的情況則使用該路由,路由是長正則優先匹配;每個路由下面都可以針對服務單獨設定權重和RPS併發限制,具體設定數值則和實際應用相結合。以上設定儲存後都會實時更新到閘道器中,因此整個配置策略是即改即生效。
測試
以下是簡單地測試一下剛部署的閘道器,看一下實際處理效果
在擴充套件的Gateway中使用管理外掛
如果基於Bumblebee定義了一個閘道器服務是否可以用這個簡單的管理功能呢?答案是可以的,Bumblebee提供了一系列的外掛介面用於提供功能擴充套件,只需要引用這個管理包載入它即可
Install-Package BeetleX.Bumblebee.Configuration -Version 0.5.0
安裝完成後只需要在閘道器啟動程式碼後載入即可
g = new Gateway();
g.Open();
g.LoadPlugin(typeof(Bumblebee.Configuration.Management).Assembly);