Soul 学习笔记---soul 数据同步的浅显分析(四)

本文分析了Soul 网关的数据同步机制,特别是使用WebSocket进行实时更新的过程。当数据发生变化时,通过EventBus发布事件,WebSocketSubscriber接收并通知客户端更新内存中的数据。启动时,配置的DataChangeEventService被加载并初始化,实现数据同步。学习过程中,了解了@ConditionalOnClass和ApplicationListener的用法,以及EventBus在代码中的实际应用。
摘要由CSDN通过智能技术生成

当我们在 soul-admin 更改 selector 或者 rule 时,数据是怎么同步到网关内存中的呢。

我们知道 soul 网关有四种数据同步的方式,http 长轮询,websocketzookeepernacos,数据同步处理就是在这些 listener 里进行的,默认使用 websocket 同步。今天也主要是看 websocket 同步方式。

以更新 selector 为例,执行过程是在 publishEvent 方法。

在这里插入图片描述

这里使用 eventPublisher (也就是ApplicationEventPublisherspring 自带的一种事件发布机制) 发布一个 DataChangedEvent 事件。

DataChangedEventDispatcher

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值