Bumblebee微服务网关之Url重写

为了提高Url访问的统一和友好性,一般访问的Url和服务定义的Url有所不同;为了解决这一问题Bumblebee提供Url重写功能;通过Url重写功能可以在转发前进行一个重写后再转发到后台服务。

引用插件

Bumblebee中使用Url重写需要引用两个插件,分别是Bumblebee.ConfigurationBeetleX.Bumblebee.UrlRewrite 。加载启动后就可以通过管理工具进行插件配置.

            g = new Gateway();
g.HttpOptions(
o =>
{
o.Port = 80;
o.LogToConsole = true;
o.LogLevel = BeetleX.EventArgs.LogType.Error;
});
g.Open();
g.LoadPlugin(
typeof(Bumblebee.Configuration.Management).Assembly,
typeof(Bumblebee.UrlRewrite.RewriteLoader).Assembly
);

如果不想自己编写代码可以下载编译的运行包 https://github.com/IKende/Bumblebee/blob/master/bin/ 下载1.1.8或更高版本

插件管理

运行程序后进行配置管理工具的插件管理页面,可以看到Url重写插件,组件默认是启用

640?wx_fmt=png

配置

Url重写需要根据自己的情况进行配置重写规则,配置也比较简单

{
"Rewrite": [
{
"Url": "/home/{action}",
"Rewrite": "/api/{action}"
},
{
"Url": "/__system/bumblebee/config/{0}.html",
"Rewrite": "/__system/bumblebee/pluginsconfig.html"
},
{
"Url": "/api/customers/{count}",
"Rewrite": "/customers/{count}"
}
]
}

可以根据实际情况配置多组重写规则,规则配置保存后会即时生效无须重启服务。配置的规则是否生效可以通过日志查看,把日志配置成info即可在管理插件查看转发的日志 

640?wx_fmt=png

使用注意

其他涉及的到Url配置处理的插件都是依据重写前的Url规则.


关注公众号

640?wx_fmt=jpeg

 https://github.com/IKende/ 

高性能的服务通讯框架 Beetlex(http,rpc,gateway的详细实现)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值