2) 如果你使用apache-dubbo,那么你应该引入如下:
<!--soul apache dubbo plugin start--> <dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-apache-dubbo</artifactId> <version>2.2.0</version> </dependency> <!-- soul apache dubbo plugin end-->
- 更多的使用请你参考:https://dromara.org/zh-cn/docs/soul/user-dubbo.html
- 问:如果我想使用限流功能呢?
- 答:你可以引入以下依赖,具体的参考:https://dromara.org/zh-cn/docs/soul/plugin-rateLimiter.html
<!-- soul ratelimiter plugin start--> <dependency> <groupId>org.dromara</groupId> <artifactId>soul-spring-boot-starter-plugin-ratelimiter</artifactId> <version>2.2.0</version> </dependency> <!-- soul ratelimiter plugin end-->
- 总而言之,你想要使用什么插件,你就新增该插件的依赖 。就这?是热插拔么 。。
- 问:那有些插件我不想用了怎么办?
- 答:在soul-admin后台禁用该插件即可,想用就开启 。
- 我觉得最大的特色是在流量筛选和管控方面 。无论多复杂的请求,可以根据各种条件,规则,匹配方式,来进行流量过滤,筛选,处理 。这个过程完全是可视化,自定义,即时生效的,程序无需任何更改 。
- 每个配置都在soul-admin 控制台配置,会同步到每个Soul网关节点的JVM内存,这也是Soul集群高性能的关键之一,在soul网关内部,使用了http长轮询,websocket,zookeeper等方式,独立实现了分布式配置中心的功能 。
- Soul网关使用Reactor编程方式来实现,独立了线程调度,低消耗,经过网关的流量,我们在开启10个插件都处理的情况下,延迟是1~2ms 。
- 插件机制,默认提供了限流,熔断,黑白名单,认证等等插件 。
- 支持A/B test,蓝绿发布(因为掌控了所有流量这个很容易做) 。
后台管理web
- 首先随着微服务的流行,我们的后台都划分成很多的微服务,我相信你们每个公司都有一个后台管理系统吧,如果我没猜错的话,他们大体上是如下架构 。
- 它会有什么问题呢?大家思考一下 。
- 每个微服务项目的开发人员都在这上面进行开发,会越来越笨重 。
- 如何发现的问题?你要发布商品模块的接口,会造成所有其他的模块使用不了 。
- 假如某一个模块接口的请求量很大(需要部署多个),另一个模块而不需要,你又怎么做?
- 有人又会说,那我把他们拆处理,拆成一个一个web不就行了么?但是这样又会带来一个新的问题,负载均衡在哪里做?统一的认证在哪里做?
- Soul网关就很好了解决了以上所有问题,只需要把你的微服务注册到Soul网关 。你想怎么玩都可以,不重样的.. 比如 order模块有2个应用,你要发布新的版本,你可以在网关里面,把流量先打到其中一个,另一个进行更新,更新完了以后,再把流量放过去 。改变了以前运维掌控一切的观念,java程序员,也可以玩的更好,运维都省了,向老板申请加薪指日可待 。
- 需要统一鉴权?你只需要在网关新增一个适合自己业务的鉴权插件就OK 。
- 如果一个公司要做开放平台或者入口网关,鉴权,限流,监控,熔断肯定少不了 。
- 如果贵公司是dubbo体系,开发人员写了dubbo服务后,还要傻乎乎的新增一个web项目,来提供接口给别人调用吗?
- 如果一个接口被攻击,你怎么处理呢?如果被大流量攻击,你怎么处理呢?
- 不巧,soul 在设计之初就是来干这种事情的,我们来看一下整体的架构图 。
文章插图
- Soul网关是使用响应式编程实现的,响应式编程绝对是未来 java领域的重要方向,看风向标Spring体系就好了 。我在14年的时候,天天写for循环操作集合,溜的一笔 。领导对我说,要使用lambda表达式,这是未来的重点,今天来看,如果你是java程序员,你不会lambda函数式编程,你好意思么 。
推荐阅读
- Windows 10 20H2版本Build 19042.330发布:默认安装新版Edge
- JeecmsX1.3 发布,低代码自定义生成表格,可视化拖拽式创建
- api开放平台
- API网关和ESB的联系与区别
- 茶产业发展研究报告,中国茶产业发展研究报告发布
- .NET 生态
- 汽车|上海发布复工复产疫情防控指引:疫情“逼停”汽车业引热议 将全力复产
- 5G|Hi nova 9 SE发布会定档:4月19日发布
- 阿里v任务平台入口在哪 阿里v任务怎么发布任务
- 5G|华为智选5G新机!Hi nova 9 SE发布会定档:4月19日发布