soul网关mysql8_重磅消息:Dromara团队正式开源高性能异步API网关-Soul

Soul是一款高性能、响应式的API网关,支持Dubbo、SpringCloud等服务集成,具备插件热插拔、动态配置规则、集群部署及A/B Test等功能。相较于Zuul和Spring Cloud Gateway,Soul具有更好的灵活性和动态配置能力,且在Java生态系统中更易于开发和维护。
摘要由CSDN通过智能技术生成

微服务为什么需要网关?

微服务的流行,服务之间的调用,需要统一的请求标准。

微服务接口,需要监控,限流,熔断,等等。

微服务接口需要统一的鉴权。

接口问题定位 A/B test等等。太多功能了,就不一一列举了。

Soul是什么? soul 是一款高性能,响应式的网关。我在参考Kong 的插件设计思想,高性能的webflux后,开发而来。

Soul架构设计

dc2f10d9cd5ca47defb4acf763135945.png

执行流程图

d7ffd4c43eedcf61488f0d887b33affe.png

Soul功能:

支持各种语言,无缝集成Dubbo,SpringCloud,以及http服务。

丰富的插件支持,监控,鉴权,限流,熔断,代理,防火墙等等。

网关多种规则动态配置,支持各种策略配置。

插件热插拔,易扩展。

支持集群部署,支持A/B Test。

当然也有很多其他的功能,就不一一说了。

Soul 最大的亮点? 插件的热插拔,规则的动态配置。举个列子,比如一个接口你限流是1秒50次,但是你想调小点,像Springcloud-gateway 或者zuul 是不是还得改动配置 然后重启。 soul则不需要,直接在soul-admin找到对应的接口修改即可.

soul提供了比较丰富的插件功能,插件与插件规则,选择器,用户可以自由定义 不想用就停用或者删除就行。想用就开启或者新增。

soul 是基于webflux的, 依赖rxJava ,其实高性能的,响应式的网关。

soul 提供了dubbo ,springcloud rpc框架的支持。

Soul适合人群 是适合所有的微服务系统。

后端是java,使用了一些rpc框架(dubbo,springcloud), 然后前端或者其他系统是 .net php 然后需要对接? 然后你问java 后端开发者,dubbo接口怎么调用? java 狗肯定不愿意给你提供http接口,或者直接回一句,你去找领导吧? 这个时候,你只需要告诉它,使用soul,你后端代码一句都不要动,只需要告诉我你zookeeper的地址就好!

当然也适合一些其他语言的系统,或者是老系统。 只要你是http服务就行,soul会进行代理请求调用。

Soul性能

soul 天然支持集群部署,底层采用webflux。

soul 所有的配置走的都是本地缓存。

双11,我们的高峰单台QPS 1W左右。

Soul VS java体系的Zuul,springcloud-gateway

性能上来说,soul和sc-gateway 都采用webflux,性能相当

sc-gateway 或者zuul 基于配置的,接口很多很难集成,而且配置规则不是动态化的。

soul是插件化的思想,插件热插拔,配置灵活并且是动态化的。

soul还可以用来排除问题,A/B test。

soul提供了监控插件来统计qps等等信息。

soul提供了waf,sign插件,来阻止外来攻击

soul vs kong

kong 也是非常优秀的框架,但是其实lua语言,开发维护成本高,但是soul完全是java,所以javaer你懂的。

篇幅原因,此文只是一个简单介绍,Soul有很大的价值,喜欢的朋友可以去官网详细介绍。也欢迎大家进行star 和fork

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值