为了提高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重写插件,组件默认是启用

配置

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重写相关推荐

  1. Bumblebee微服务网关之并发限制

    对于服务应用来说支持的并发越高越好,但很多时候资源有限,超负载的并发则会给整体应用带来更大的危险性(更何况有些并发来源是恶意的).作为微服务网关应该具有一定的挡洪作用,这样可以一定程度保障后台逻辑服务 ...

  2. Bumblebee微服务网关之负载策略

    作为一个微服务网关,提供不同负载策略配置是一项非常重要的主要功能:在这方向Bumblebee提供了非常好的支持.Bumblebee可以针对不同路径制定各自的负载策略,更重要的是这些调整都可以在网关运行 ...

  3. Bumblebee微服务网关之请求统一验证

    对于微服务网关来说,统一请求验证是一个比较重要和常用的功能,通过网关验证后台服务就无须关注请求验证:对于多语言平台的服务而言制定验证方式和变更验证配置都是一件比较繁琐和工作量大的事情.Bumblebe ...

  4. Bumblebee微服务网关之consul服务发现

    网关需要维护相关负载的服务器,手动添加相对来说是一件比较麻烦的工作:为了解决这一问题组件扩展了一个基于consul服务发现插件,通过配置这个插件和启用后网关会自动从consul服务中获取服务并添加到网 ...

  5. Bumblebee微服务网关之访问日志处理

    记录访问日志可以起到非常重要的作用,它不仅记录了API的使用情况,更可以反映API各种相关数据:通过分析日志可以得到API不同时间的负载情况,访问效率和流量分布,更进一步还能分析出用户的操作历史和行为 ...

  6. 个推微服务网关架构实践

    作者:个推应用平台基础架构高级研发工程师 阿飞 在微服务架构中,不同的微服务可以有不同的网络地址,各个微服务之间通过互相调用完成用户请求,客户端可能通过调用N个微服务的接口完成一个用户请求.因此,在客 ...

  7. spring cloud gateway 网关_微服务网关Spring Cloud Gateway全搞定

    一.微服务网关Spring Cloud Gateway 1.1 导引 文中内容包含:微服务网关限流10万QPS.跨域.过滤器.令牌桶算法. 在构建微服务系统中,必不可少的技术就是网关了,从早期的Zuu ...

  8. spring cloud 学习(6) - zuul 微服务网关

    微服务架构体系中,通常一个业务系统会有很多的微服务,比如:OrderService.ProductService.UserService...,为了让调用更简单,一般会在这些服务前端再封装一层,类似下 ...

  9. ws配置 zuul_微服务网关 Spring Cloud Gateway

    1.  为什么是Spring Cloud Gateway 一句话,Spring Cloud已经放弃Netflix Zuul了.现在Spring Cloud中引用的还是Zuul 1.x版本,而这个版本是 ...

最新文章

  1. 网络爬虫---json编码和解码
  2. linux重置网络协议,Linux 内核网络协议栈 ------ tcp_ack 函数处理接收到的ACK包之后 ....
  3. mfc 制作不同的文档模板mdi不同的子窗体_鹤岗水利渡槽钢模板设计-哈尔滨同顺钢模板...
  4. jupyter notebook 快捷键
  5. EasyUI项目之书籍管理(CRUD)
  6. 【软件测试】时制转换时的电话账单
  7. 稳压管和TVS管的工作原理
  8. “大众摄影”“北外亚非学院”等网站被挂马
  9. CPC认证的常规测试项目
  10. 调度站入口有n节软席和硬席车厢,将所有软席调到硬席之前
  11. Laravel 使用 Entrust 实现 RBAC
  12. 你真的知道什么是元音什么是辅音吗?
  13. RK3568的红外遥控
  14. 微信小程序——关于时间
  15. 同时删除多个 PDF 文档最后几页
  16. Arduino图形化编程
  17. android手机裸眼3D技术原理和编程实现
  18. linux查询iscsi服务,使用Linux的tgtd提供iscsi服务
  19. java怎么获取屏幕PPI_智能手机屏幕清晰度用户体现的分析:PPI与PPI2
  20. css一些特殊的图形,CSS 绘制特殊图形

热门文章

  1. 怎样制作滴滴截图_滴滴老了吗?
  2. 批量删除推文_如何搜索(和删除)您的旧推文
  3. Linux之ACL权限控制
  4. Android STL PORT
  5. 也来谈谈这致命的手机充电器
  6. Linux5配置jboss环境
  7. LAMP攻略: LAMP环境搭建,Linux下Apache,MySQL,PHP安装与配置
  8. weblogic搭建
  9. 使用基于Roslyn的编译时AOP框架来解决.NET项目的代码复用问题
  10. 精彩回顾|2021 中国 .NET 开发者峰会