【高性能网关soul学习】10. soul 小结之数据同步
本文目标:总结一下 soul 目前支持的四种数据同步方式,并且分析代码中的设计模式等可以学习借鉴的设计实现方式
- Websocket(推荐)
- Zookeeper(推荐)
- Http 长轮询
- Nacos
数据同步整体流程
Soul-Admin
DataChangedEventDispatcher
soul-Admin 对数据进行crud变更操作的同时,都会触发一个 DataChangedEvent(数据变更事件)
数据变动事件:DataChangedEvent
数据变动事件分发器: DataChangedEventDispatcher
观察者模式,其中的 listeners 为启动时候根据具体的配置方式注入进来的
1. 启动时 DataSyncConfiguration 会根据具体的配置参数 @ConditionalOnProperty
创建实际的 各个同步方式的 listener bean,
2. 然后是通过 spring 的加载机制,在所有bean的属性都注入完毕之后,创建 listener