开箱即用Bumblebee独立部署搭建webapi网关详解

在以前的章节里都是讲述如何在程序中使用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/binBumblebeeServerx.x.x.zip并解压到相应的目录中运行如下指令css

  • windows
    dotnet Bumblebee.Server.dll 或 run.bat 
  • linux
    dotnet Bumblebee.Server.dll 或 ./run.sh 

若是看到如下日志说明服务运行成功java

组件默认启用端口是9090能够经过修改HttpConfig.json来指写其余端口或HTTPS服务linux

"Host": "", "Port": 9090, "SSL": false, "CertificateFile": "", "CertificatePassword": "", 

Web管理配置

服务启动后就能够经过web来管理网关的负载配置策略,可能经过http://gatewayip:9090/__admin/来访问管理;管理须要用户登录,默认用户密码是:admin 123456;进入管理后界面以下:nginx

 

进入界面后能够看到网关的处理情况,主要包括CPU,并发和网络的详细使用状况。当网关没有配置服务负载策略时访问会获得一个5XX的错误信息,具体以下:git

这个时候首先要配置负载的webapi服务,能够根据实际状况添加对应服务的域名或IP地址github

网关会检测服务的可用状况,若是服务不可用会显示一个红色灯的小图标;服务添加完成后就要进行转发路由设置web

Bumblebee是以url来区分转发,能够根据本身的需求制定多个Url正则匹配,每一个匹配下面均可以添加N个负载服务。json

*是默认路由,当没有匹配到的状况则使用该路由,路由是长正则优先匹配;每一个路由下面均可以针对服务单独设置权重和RPS并发限制,具体设置数值则和实际应用相结合。以上设置保存后都会实时更新到网关中,所以整个配置策略是即改即生效。windows

测试

如下是简单地测试一下刚部署的网关,看一下实际处理效果

 

在扩展的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

相关文章
相关标签/搜索