Bumblebee微服务网关之Url重写
為了提高Url訪問(wèn)的統(tǒng)一和友好性,一般訪問(wèn)的Url和服務(wù)定義的Url有所不同;為了解決這一問(wèn)題Bumblebee提供Url重寫(xiě)功能;通過(guò)Url重寫(xiě)功能可以在轉(zhuǎn)發(fā)前進(jìn)行一個(gè)重寫(xiě)后再轉(zhuǎn)發(fā)到后臺(tái)服務(wù)。
引用插件
Bumblebee中使用Url重寫(xiě)需要引用兩個(gè)插件,分別是Bumblebee.Configuration和BeetleX.Bumblebee.UrlRewrite?。加載啟動(dòng)后就可以通過(guò)管理工具進(jìn)行插件配置.
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
);
如果不想自己編寫(xiě)代碼可以下載編譯的運(yùn)行包?https://github.com/IKende/Bumblebee/blob/master/bin/?下載1.1.8或更高版本
插件管理
運(yùn)行程序后進(jìn)行配置管理工具的插件管理頁(yè)面,可以看到Url重寫(xiě)插件,組件默認(rèn)是啟用
配置
Url重寫(xiě)需要根據(jù)自己的情況進(jìn)行配置重寫(xiě)規(guī)則,配置也比較簡(jiǎn)單
{"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}"
}
]
}
可以根據(jù)實(shí)際情況配置多組重寫(xiě)規(guī)則,規(guī)則配置保存后會(huì)即時(shí)生效無(wú)須重啟服務(wù)。配置的規(guī)則是否生效可以通過(guò)日志查看,把日志配置成info即可在管理插件查看轉(zhuǎn)發(fā)的日志?
使用注意
其他涉及的到Url配置處理的插件都是依據(jù)重寫(xiě)前的Url規(guī)則.
關(guān)注公眾號(hào)
?https://github.com/IKende/?
高性能的服務(wù)通訊框架?Beetlex(http,rpc,gateway的詳細(xì)實(shí)現(xiàn))
總結(jié)
以上是生活随笔為你收集整理的Bumblebee微服务网关之Url重写的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
                            
                        - 上一篇: .NET Core3.0创建Worker
 - 下一篇: 依赖注入:一个Mini版的依赖注入框架