使用不同的数据同步策略
说明
websocket同步(默认方式,推荐)
网关配置(记得重启)
首先在
pom.xml
文件中 引入以下依赖:<!--soul data sync start use websocket-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-sync-data-websocket</artifactId>
<version>${last.version}</version>
</dependency>
在 springboot的 yml 文件中进行如下配置:
soul :
sync:
websocket :
urls: ws://localhost:9095/websocket
#urls:是指 soul-admin的地址,如果有多个,请使用(,)分割.
soul-admin 配置,或在 soul-admin 启动参数中设置
--soul.sync.websocket=''
,然后重启服务。soul:
sync:
websocket:
当建立连接以后会全量获取一次数据,以后的数据都是增量的更新与新增,性能好。
支持断线重连 (默认30秒)。
zookeeper同步
网关配置(记得重启)
- 首先在
pom.xml
文件中 引入以下依赖:
<!--soul data sync start use zookeeper-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-sync-data-zookeeper</artifactId>
<version>${last.version}</version>
</dependency>
- 首先在
在 springboot的 yml 文件中进行如下配置:
soul :
sync:
zookeeper:
url: localhost:2181
sessionTimeout: 5000
connectionTimeout: 2000
#url: 配置成你的zk地址,集群环境请使用(,)分隔
soul-admin 配置, 或在 soul-admin 启动参数中设置
--soul.sync.zookeeper.url='你的地址'
,然后重启服务。
soul:
sync:
zookeeper:
url: localhost:2181
sessionTimeout: 5000
connectionTimeout: 2000
- 使用zookeeper同步机制也是非常好的,时效性也高,我们生产环境使用的就是这个,但是也要处理zk环境不稳定,集群脑裂等问题.
http长轮询同步
网关配置(记得重启)
首先在
pom.xml
文件中 引入以下依赖:<!--soul data sync start use http-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-sync-data-http</artifactId>
<version>${last.version}</version>
</dependency>
在 springboot的 yml 文件中进行如下配置:
soul :
sync:
http:
url: http://localhost:9095
#url: 配置成你的 soul-admin的 ip与端口地址,多个admin集群环境请使用(,)分隔。
soul-admin 配置, 或在 soul-admin 启动参数中设置
--soul.sync.http=''
,然后重启服务。soul:
sync:
http:
http长轮询使得网关很轻量,时效性略低。
其根据分组key来拉取,如果数据量过大,过多,会有一定的影响。 什么意思呢?就是一个组下面的一个小地方更改,会拉取整个的组数据。
在soul-admin 集群时候,可能会有bug。
nacos同步
网关配置(记得重启)
首先在
pom.xml
文件中 引入以下依赖:<!--soul data sync start use nacos-->
<dependency>
<groupId>org.dromara</groupId>
<artifactId>soul-spring-boot-starter-sync-data-nacos</artifactId>
<version>${last.version}</version>
</dependency>
在 springboot的 yml 文件中进行如下配置:
soul :
sync:
nacos:
url: localhost:8848
namespace: 1c10d748-af86-43b9-8265-75f487d20c6c
acm:
enabled: false
endpoint: acm.aliyun.com
namespace:
accessKey:
secretKey:
#url: 配置成你的nacos地址,集群环境请使用(,)分隔。
# 其他参数配置,请参考naocs官网。
soul-admin 配置, 或在 soul-admin 启动参数中使用
--
的方式一个一个传值
soul:
sync:
nacos:
url: localhost:8848
namespace: 1c10d748-af86-43b9-8265-75f487d20c6c
acm:
enabled: false
endpoint: acm.aliyun.com
namespace:
accessKey:
secretKey: