首页 » SEO优化 » 网关java挪用php技巧_Soul网关宣告的21X版本到底有多方便牛逼

网关java挪用php技巧_Soul网关宣告的21X版本到底有多方便牛逼

访客 2024-12-17 0

扫一扫用手机浏览

文章目录 [+]

作者xiao'yu

Soul网关发布2.1.X之后,它到底有多方便?

网关java挪用php技巧_Soul网关宣告的21X版本到底有多方便牛逼

Soul 网关自从去年10月我开源以来,经历了一年的事情,接管到了来自社区很多朋友的建议,并进行持续不断的优化,已经供应了非常丰富的功能,很多功能都是高度自定义,可视化,高度可扩展的,现在做一个归纳总结。

网关java挪用php技巧_Soul网关宣告的21X版本到底有多方便牛逼
(图片来自网络侵删)

插件

供应了系统自带的各种插件,比如署名,监控,限流,熔断,http代理,dubbo代理,websocket等等。
支持用户快速的进行插件的自定义开拓。
插件的所有数据,开关状态支持动态变更。

数据同步

供应了 http长轮询,zookeeper,websocket 三种不同的数据同步策略,让用户自由选择。
推举用户利用websocket办法,最轻量,在集议论况下,效率更高。

对付用户

首先我们供应了便于用户接入的 client包,用户可以把快速的把自己的项目接入到soul网关。
默认情形下,用户完备不用关心 soul网关的选择器,规则等配置。
用户之前的接口完备是零侵入,不须要任何变动,只是须要把访问域名改成网关的域名即可。
比如 dubbo用户,险些便是http的办法完成了 http协议到 dubbo协议的相互转换。
soul 利用的是http协议,那么注定它便是跨措辞的,net程序员,php程序员等等,要和java进行数据交互,那么就大大的可行了。
举个列子 ,比如你有一个 dubbo接口 参数定义是一个java

如果你利用 soul网关要发起对它的调用,你的http传参数 便是在 body 里面 传一个json字符串 ,和普通的http调用无差别。
{"id":"123","name":"xiaoyu"}

对付开拓者(程序员)

随着利用者越来越多,每个公司利用情形又不一样,soul 网关在2.1.X版本,处处留出来更多的高度自定义扩展性,让开发者,更加方便或者有信心融入进来。
比如,自定义插件,过滤器,dubbo参数解析器,iphost解析器,返回结果等等。

这里我着重说一下自定义返回结果。
我们知道,soul 网关默认的返回结果是:{"code":200, "message ": "成功!","data" :"helloWorld!"}但是,在利用 soul 网关对你的业务系统进行调用的时候,你的业务系统可能定义的结果并不是上述构造,可能你的 字段叫 msg,这样就会造成构造不一样,给前端处理带来了困扰。
我们把稳到了这个事情 :https://github.com/Dromara/soul/issues/109 , 现在已经优化,用户可以定制化的来定义返回结果,详细的要看 soul 文档。
说了这么多,吹了这么多牛逼,那么我们来看看 soul网关到底可以在什么场景下能发挥大浸染。

后台管理web

首先随便微做事的盛行,我们的后台都划分成很多的微做事,我相信你们每个公司都有一个后台管理系统吧,如果我没猜错的话,他们大体上是如下架构。

很大略对吧,便是有个运营管理平台的web项目,去调用每个微做事,来进行后台的查看等等。
随着你们业务须要的加大,可能这里须要调用的微做事越来越多,你的 controller越来越多,现在比如你修正了 商品模块的 接口,你要发版会造成所有其他的模块也操作不了(便是你发版影响了其他模块的利用,别杠这里只是比方,不要整蓝绿发版啥的,明白意思吧)。
如果有运营职员在操作其他模块,会不会吐槽你?如果你是公司架构师,我说的是如果,那么你要怎么办理这个问题呢?当然,我们把这样一个大的web系统,拆分成很多小web系统,单独的进行发布,但是这样会引入一个问题,怎么统一上岸,鉴权?(很多后台管理系统还有权限的划分) ,这个时候,soul 网关 就能发挥主要的浸染了,下面我只是列举了一下大略的调用图。

这样多方便,集成了网关,每个微做事注册到网关,网关根据路由规则来进行调用。
自动创造做事,连运维配置 nginx的事情都省了,把运维的人为给你,美滋滋。

公司入口网关(开放平台)

如果一个公司要做开放平台或者入口网关,鉴权,限流,监控,熔断肯定少不了。
如果贵公司是dubbo体系,开拓职员写了dubbo做事后,还要傻乎乎的新增一个web项目,来供应接口给别人调用吗?如果一个接口被攻击,你怎么处理呢?如果被大流量攻击,你怎么处理呢?不巧,soul 在设计之初便是来干这种事情的,我们来看一下整体的架构图。

零零总总还有很多其他功能比如支持 websocket 代理。
比如支持文件上传下载。
比如你可以自定义的开拓你的插件啊。
末了末了github地址 :https://github.com/Dromara/soulgitee地址 :https://gitee.com/shuaiqiyu/soul文档:https://dromara.org/zh-cn/docs/soul/soul.html

末了 3.0 已经在进行开源了,3.0是经历过2年双11大并发场景验证过的,现在一步一步将它开源出来,希望给大家带来帮助.
标签:

相关文章