皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

Soul 1.0.5 发布,基于 WebFlux 的 Reactive 网关

Soul 关是一款基于 webflux 的 Reactive 网关,
* 提供了 http,restful,websocket,dubbo springcloud 的无缝集成
* 提供了限流,熔断,路由等等插件。
* soul 的插件是热插拔,并且用户是可以自定义自由扩展。

Soul 发布 1.0.5 版本

  • 新增 websocket 的支持与负载均衡
  • 新增 restful 风格的支持
  • 新增 cors 跨域支持
  • 修护 get 请求中文参数乱码问题

新增 websocket 支持

  • 首先我们来看 ws 访问 soul 网关路径 ws://localhost:8080/? module=ws&method=/bbex/websocket/buyAndSell&rpcType=websocket
    参数详解:
    1.localhost:8080 是 soul 启动的 ip 和端口。
    2.module(必填): 值是你用来匹配 selector 的关键
    3.method (参数): 你的 websocket 路径,同时也用做匹配 rule
    4.rpcType :websocket 必填,且必须为 websocket
    
  • 在 divide 插件配置匹配的选择器与规则,设置转发的 websocket 服务,设置负载策略等等。

cors 跨域支持

  • 如果你使用 soul,请参考 org.dromara.soul.bootstrap.cors.CrossFilter
  • 完全支持用户自定义

restful 风格的支持

请求 soul 网关的时候,在 header 头新增字段 pathVariable 值为用户自己传.
比如用户请求的真实路径为:http://localhost:8080/test/id/{}
你设置 pathVariable 值为 3, 那么 soul 网关就会封装成 http://localhost:8080/test/id/3 发起代理调用.

get 请求中文参数乱码问题

  • get 请求如果字段带有中文参数,请先对 extInfo 字段先进行 URLDecoder utf-8 编码。再传递到 soul 网关。

Soul 的具体使用文档:

  • 官网文档 :https://dromara.org/website/zh-cn/docs/soul/index.html
  • github 地址: https://github.com/Dromara/soul
  • gitee 地址: https://gitee.com/shuaiqiyu/soul
  • 欢迎大家 star fork ,提供优秀的代码与建议。

转自 https://www.oschina.net/news/106216/soul-1-0-5-released

分享到:更多 ()