写点什么

soul 数据同步(三)http 长轮询 同步策略

用户头像
xzy
关注
发布于: 2021 年 01 月 22 日
soul 数据同步(三)http长轮询 同步策略

zookeeper、websocket 数据同步的机制比较简单,而 http 同步会相对复杂一些。Soul 借鉴了 ApolloNacos 的设计思想,取其精华,自己实现了 http 长轮询数据同步功能。



soul-admin 在启动时,会将所有配置加载到 org.dromara.soul.admin.listener.AbstractDataChangedListener.CACHE 里,当用户在 admin 后台界面修改相关配置时,也会更新该 CACHE


soul-bootrap 在启动时,创建线程池执行 org.dromara.soul.sync.data.http.HttpSyncDataService.HttpLongPollingTask 的 run 方法循环调用 ConfigController 的 listener 方法,该方法执行时,会阻塞 60s 再执行,执行时判断 Cache 是否方法变化

,如果有变化,变将变化的 Groupname 返回,网关收到变化的数据后,请求 ConfigController 的 fetchConfigs 方法,从 org.dromara.soul.admin.listener.AbstractDataChangedListener.CACHE 获取变化后的数据,然后更新本地缓存


用户头像

xzy

关注

还未添加个人签名 2017.10.17 加入

还未添加个人简介

评论

发布
暂无评论
soul 数据同步(三)http长轮询 同步策略