canal 监听 MySQL Binlog 并推送 Redis 队列的增量同步方案
基于 Canal 监听 MySQL Binlog 并推送 Redis 队列的增量同步方案 # 在一些业务系统中,我们经常会遇到这样的场景:主业务数据写入 MySQL 后,需要把变更通知给另一个系统处理,例如数据同步、异步补偿、缓存刷新、搜索索引更新、历史数据迁移等。
最直接的做法是在业务代码里写同步逻辑,但这种方式侵入性强,而且容易因为代码路径复杂而遗漏。更通用的方案是基于 MySQL Binlog 做 CDC(Change Data Capture):业务系统正常写数据库,独立订阅服务监听 Binlog,解析出变更事件后投递到消息队列或缓存队列,下游消费者再异步处理。