在以前的章節裏都是講述如何在程序中使用Bumblebee
來構建一個Webapi網關;但這樣顯然有些麻煩,畢竟不少時候可能只須要一個簡單負載處理,還須要寫個程序針對服務進行編寫代碼或配置的確是比較麻煩的事情;若是有負載方面的調整還須要從新編譯部署這的確是很讓人頭痛的事情!爲了解決這一問題這些時間針對Bumblebee
寫了個簡單的web管理插件並編寫一個服務集成進去,只須要簡單地部署便可把網關搭建起來並用web管理配置負載服務。javascript
首先服務器要安裝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
並解壓到相應的目錄中運行如下指令css
dotnet Bumblebee.Server.dll 或 run.bat
dotnet Bumblebee.Server.dll 或 ./run.sh
若是看到如下日誌說明服務運行成功java
組件默認啓用端口是9090
能夠經過修改HttpConfig.json
來指寫其餘端口或HTTPS服務linux
"Host": "", "Port": 9090, "SSL": false, "CertificateFile": "", "CertificatePassword": "",
服務啓動後就能夠經過web來管理網關的負載配置策略,可能經過http://gatewayip:9090/__admin/
來訪問管理;管理須要用戶登錄,默認用戶密碼是:admin
123456
;進入管理後界面以下:nginx
進入界面後能夠看到網關的處理情況,主要包括CPU,併發和網絡的詳細使用狀況。當網關沒有配置服務負載策略時訪問會獲得一個5XX的錯誤信息,具體以下:git
這個時候首先要配置負載的webapi服務,能夠根據實際狀況添加對應服務的域名或IP地址github
網關會檢測服務的可用狀況,若是服務不可用會顯示一個紅色燈的小圖標;服務添加完成後就要進行轉發路由設置web
Bumblebee是以url來區分轉發,能夠根據本身的需求制定多個Url正則匹配,每一個匹配下面均可以添加N個負載服務。json
*
是默認路由,當沒有匹配到的狀況則使用該路由,路由是長正則優先匹配;每一個路由下面均可以針對服務單獨設置權重和RPS併發限制,具體設置數值則和實際應用相結合。以上設置保存後都會實時更新到網關中,所以整個配置策略是即改即生效。windows
如下是簡單地測試一下剛部署的網關,看一下實際處理效果
若是基於Bumblebee定義了一個網關服務是否能夠用這個簡單的管理功能呢?答案是能夠的,Bumblebee提供了一系列的插件接口用於提供功能擴展,只須要引用這個管理包加載它便可
Install-Package BeetleX.Bumblebee.Configuration -Version 0.5.0
安裝完成後只須要在網關啓動代碼後加載便可
g = new Gateway(); g.Open(); g.LoadPlugin(typeof(Bumblebee.Configuration.Management).Assembly);