Bumblebee微服务网关之Url重写
为了提高Url
访问的统一和友好性,一般访问的Url
和服务定义的Url
有所不同;为了解决这一问题Bumblebee
提供Url
重写功能;通过Url
重写功能可以在转发前进行一个重写后再转发到后台服务。
引用插件
Bumblebee
中使用Url
重写需要引用两个插件,分别是Bumblebee.Configuration
和BeetleX.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
重写插件,组件默认是启用
配置
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
即可在管理插件查看转发的日志
使用注意
其他涉及的到Url
配置处理的插件都是依据重写前的Url
规则.
关注公众号
https://github.com/IKende/
高性能的服务通讯框架 Beetlex(http,rpc,gateway的详细实现)
Bumblebee微服务网关之Url重写相关推荐
- Bumblebee微服务网关之并发限制
对于服务应用来说支持的并发越高越好,但很多时候资源有限,超负载的并发则会给整体应用带来更大的危险性(更何况有些并发来源是恶意的).作为微服务网关应该具有一定的挡洪作用,这样可以一定程度保障后台逻辑服务 ...
- Bumblebee微服务网关之负载策略
作为一个微服务网关,提供不同负载策略配置是一项非常重要的主要功能:在这方向Bumblebee提供了非常好的支持.Bumblebee可以针对不同路径制定各自的负载策略,更重要的是这些调整都可以在网关运行 ...
- Bumblebee微服务网关之请求统一验证
对于微服务网关来说,统一请求验证是一个比较重要和常用的功能,通过网关验证后台服务就无须关注请求验证:对于多语言平台的服务而言制定验证方式和变更验证配置都是一件比较繁琐和工作量大的事情.Bumblebe ...
- Bumblebee微服务网关之consul服务发现
网关需要维护相关负载的服务器,手动添加相对来说是一件比较麻烦的工作:为了解决这一问题组件扩展了一个基于consul服务发现插件,通过配置这个插件和启用后网关会自动从consul服务中获取服务并添加到网 ...
- Bumblebee微服务网关之访问日志处理
记录访问日志可以起到非常重要的作用,它不仅记录了API的使用情况,更可以反映API各种相关数据:通过分析日志可以得到API不同时间的负载情况,访问效率和流量分布,更进一步还能分析出用户的操作历史和行为 ...
- 个推微服务网关架构实践
作者:个推应用平台基础架构高级研发工程师 阿飞 在微服务架构中,不同的微服务可以有不同的网络地址,各个微服务之间通过互相调用完成用户请求,客户端可能通过调用N个微服务的接口完成一个用户请求.因此,在客 ...
- spring cloud gateway 网关_微服务网关Spring Cloud Gateway全搞定
一.微服务网关Spring Cloud Gateway 1.1 导引 文中内容包含:微服务网关限流10万QPS.跨域.过滤器.令牌桶算法. 在构建微服务系统中,必不可少的技术就是网关了,从早期的Zuu ...
- spring cloud 学习(6) - zuul 微服务网关
微服务架构体系中,通常一个业务系统会有很多的微服务,比如:OrderService.ProductService.UserService...,为了让调用更简单,一般会在这些服务前端再封装一层,类似下 ...
- ws配置 zuul_微服务网关 Spring Cloud Gateway
1. 为什么是Spring Cloud Gateway 一句话,Spring Cloud已经放弃Netflix Zuul了.现在Spring Cloud中引用的还是Zuul 1.x版本,而这个版本是 ...
最新文章
- 游戏开发论坛_OPPO开发者大会前瞻:见证OPPO智能服务新生态
- python全球购代码_理解python的unicode字符串
- 7.10.7740.16
- HDU 4911 Inversion 树状数组求逆序数对
- UDLD是一个Cisco私有的二层协议
- python-循环-打印菱形图案
- 细数那些你可能不知道的国产数据库
- jersey2.22.2异常java.lang.NoSuchMethodError: org.glassfish.jersey.CommonProperties.getValue
- 【web组件库系列】封装自己的字体图标库
- nginx内核优化及配置
- Linux虚拟机挂载新的硬盘
- tf1.x版RandLA-Net源码解读(1):数据预处理
- event mpm php,CentOS 7 安装 PHP-FPM 及使用 mod_mpm_event
- 微信公众号文章怎么添加附件|详细教程讲解,太实用了!
- Unity的Inspector
- php 微信 ca证书出错,升级CA颁发的证书后微信退款、红包等无法使用
- 组合模式(Bridge Pattern) – 设计模式之结构型模式
- 程序员常秃顶?Python创始人笑了,防脱发还得学这门语言,不然干脆转行得了
- 蓝桥杯单片机比赛学习:1、led点亮原理
- 数据预处理相关Demo(缺失值、均值方差标准化、极差法归一化、主成分分析)
热门文章
- 在程序员的道路上,义无反顾的努力,有思想的人,很多,好的想法,需要学习。(以此共勉)...
- oracle服务器不识别tc服务,记一次ORACLE无法启动登陆事故
- ipad iphone开发_如何在iPhone或iPad上更改应用程序的语言
- 使用iOS 4越狱iPhone或iPod Touch
- apt-get更新软件包_如何使用Apt-fast加速软件包下载和更新
- 智能记忆功能nest_如何设置和安装Nest Protect智能烟雾报警器
- mac命令行将输出写入文件_如何在Linux中使用命令行将PDF文件转换为可编辑文本...
- KVOController代码分析和踩坑
- 本地环境和测试环境搭建
- 开源 java CMS - FreeCMS2.2 系统配置