Soul网关发布2.0版本

  • 数据同步方式移除了对zookeeper的强依赖,新增http长轮询以及websocket。
  • 限流插件与监控插件的配置方式:由之前的yml里面配置,改为admin后台用户动态配置。
  • 启用admin后台,自动执行sql脚步,用户无需要再手动创建数据库。
  • 内置跨域解决方案。移除springboot健康检查。
  • 修复RoundRobinLoadBalance的bug。

老用户升级指南

  • 首先在plugin表中,新增了一个config字段。所以需要新增。执行以下脚步
ALTER TABLE plugin ADD COLUMN config text COLLATE utf8mb4_unicode_ci COMMENT '插件配置';

如果想继续使用zookeeper进行数据同步请按照以下方式进行:

  1. soul-admin 的yml配置改为以下,之前的去掉。可以参考github上的soul-admin配置
soul:
  sync:
      strategy: zookeeper
      zookeeper:
        url: localhost:2181
        sessionTimeout: 5000
        connectionTimeout: 2000
  1. 启动admin ,进到插件管理,点击全量更新。
  2. 配置soul-bootstrap 如下,重新启动。升级完成。
soul :
    filterTimeEnable : false
    filterTime : 10
    sync:
        strategy: zookeeper
        zookeeper:
              url: localhost:2181
              sessionTimeout: 5000
              connectionTimeout: 2000
#        http:
#             url : localhost:8888

新用户环境搭建指南

1.首先获取soul-admin.jar

> wget  https://yu199195.github.io/jar/soul-admin.jar

2.启动 soul-admin.jar

java -jar soul-admin.jar -Dspring.datasource.url="你的数据库url"  
-Dspring.datasource.username='你的数据库用户名'  -Dspring.datasource.password='你的数据库密码'

3.启动成功访问: http://localhost:8887/index.html 用户为admin 密码为123456

4.首先获取soul-bootstrap.jar

> wget  https://yu199195.github.io/jar/soul-bootstrap.jar
  1. 启动soul-bootstrap.jar 环境搭建完毕。
 java -jar soul-bootstrap.jar

数据同步的三种方式

HTTP长轮询(soul提供的jar包中,默认使用的是http长轮询策略。)

soul-admin.jar 中yml配置如下:

soul:
  sync:
      strategy: http

soul-bootstrap.jar 中yml配置如下:

soul:
  sync:
      strategy: http
      http:
         url : http://localhost:8887

Websocket同步

soul-admin.jar 中yml配置如下:

soul:
  sync:
      strategy: websocket

soul-bootstrap.jar 中yml配置如下:

soul:
  sync:
      strategy: websocket
      websocket:
         url : ws://localhost:8887/websocket

Zookeeper同步

soul-admin.jar 中yml配置如下:

soul:
  sync:
      strategy: zookeeper
      zookeeper:
        url: localhost:2181
        sessionTimeout: 5000
        connectionTimeout: 2000

soul-bootstrap.jar 中yml配置如下:

soul:
  sync:
      strategy: zookeeper
      zookeeper:
        url: localhost:2181
        sessionTimeout: 5000
        connectionTimeout: 2000

限流插件,与监控插件的配置

  • 之前是在 soul-bootstrap.jar 中的yml中进行reids与influxdb的配置,现在改为在soul-admin 插件管理中的限流插件与监控插件进行配置。

  • 使用配置时候,请确保该插件是开启的。并且保证配置的正确性。

仓库地址

  • github: https://github.com/Dromara/soul
  • gitee: https://gitee.com/shuaiqiyu/soul
  • 有兴趣的朋友可以参加进来,进行开发。