Soul网关发布全新架构V2.2.0,让高性能网关变得如此简单

我们还是先来看看新增功能,然后再讲故事 。

  • 完全的插件化架构设计,插件热插拔 。
  • 完整支持dubbo所有版本,alibaba-dubbo ,Apache-dubbo 。
  • 支持dubbo泛化调用,多参数,复杂参数接口 。
  • 增强monitor插件,移除influxdb支持,新增内存,CPU,QPS,TPS,响应迟延等metrics,支持接入Prometheus 。
  • springCloud插件支持eureka与nacos二种注册中心 。
  • waf插件增强,支持黑白名单,以及混合模式 。
  • 抽离Hystrix熔断功能,独立成插件支持 。
  • 修护Zookeeper数据同步方式bug,新增nacos同步数据方式 。
  • 多种soul-client支持,提供传统spring,以及springboot等方式接入 。
  • 优化 soul-admin后台控制界面 。
  • 负载均衡算法bug修护 。
  • 修护大文件上传时候的bug 。
  • .......太多了不一一列举了 。
体验新架构,10分钟搞定一个高可用高性能网关 。启动 soul-admin
  • 下载soul-admin.jar包,并启动.
> wget  https://yu199195.github.io/jar/soul-admin.jar> JAVA -jar soul-admin.jar --spring.datasource.url="jdbc:MySQL://你的url:3306/soul?useUnicode=true&characterEncoding=utf-8&useSSL=false"    --spring.datasource.username='you username'  --spring.datasource.password='you password'
  • 访问 http://localhost:9095/index.html 默认的用户名:admin 密码:123456 。
搭建属于你的网关
  • 首先你新建一个空的springboot项目,可以参考 soul-bootstrap. 也可以在spring官网:[https://spring.io/quickstart]
  • 引入如下jar包:
  <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-webflux</artifactId>        <version>2.2.2-RELEASE</version>  </dependency>  <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-actuator</artifactId>        <version>2.2.2-RELEASE</version>  </dependency>  <!--soul gateway start-->  <dependency>        <groupId>org.dromara</groupId>        <artifactId>soul-spring-boot-starter-gateway</artifactId>        <version>2.2.0</version>  </dependency>   <!--soul data sync start use websocket-->   <dependency>        <groupId>org.dromara</groupId>        <artifactId>soul-spring-boot-starter-sync-data-websocket</artifactId>        <version>2.2.0</version>   </dependency>
  • 在你的 Application.yaml 文件中加上如下配置:
spring:   main:     allow-bean-definition-overriding: truemanagement:  health:    defaults:      enabled: falsesoul :    sync:        websocket :             urls: ws://localhost:9095/websocket  //设置成你的soul-admin地址
  • 这样网关的环境就已经搭建完成 。
体验新架构下的插件热插拔
  • 问:我想使用熔断功能,应该如何做呢?
  • 答:你可以在pom.xml文件 引入以下依赖,更多的还请看:https://dromara.org/zh-cn/docs/soul/soul.html
  <!-- soul hystrix plugin start-->  <dependency>      <groupId>org.dromara</groupId>      <artifactId>soul-spring-boot-starter-plugin-hystrix</artifactId>      <version>2.2.0</version>  </dependency>  <!-- soul hystrix plugin end-->
  • 问:我怎么接入dubbo服务呢?
  • 答:1)如果你使用的是alibaba-dubbo,那么你应该引入如下:
   <!--soul alibaba dubbo plugin start-->    <dependency>          <groupId>org.dromara</groupId>          <artifactId>soul-spring-boot-starter-plugin-alibaba-dubbo</artifactId>          <version>2.2.0</version>    </dependency>   <!-- soul alibaba dubbo plugin end-->


推荐阅读