開箱即用Bumblebee獨立部署搭建webapi網關詳解
在之前的章節裏都是講述如何在程序中使用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);
如果有疑問可訪問: https://github.com/IKende/Bumblebee/issues
開箱即用Bumblebee獨立部署搭建webapi網關詳解