相关技术
OpenReplicator,开源的Java解析MySQL binlog LinkedIn DataBus canal 阿里开源组件 数据双活文章
自建 DataBus 功能
- 对数据库中一条记录的增删改做出对应的异步操作,比如退款表插入成功之后自动执行退款
- 数据多活
- 企业级数据仓库的搭建参考链接
核心技术点
- Canal 监听数据库 binlog 变更
- MQ 解耦数据库变更
- 下游根据需求独立实现
核心
- Canal 监听到 binlog 变更, 会将变更事件类型以及变更前后的记录传递到MQ , Java 端消费MQ
- 比如Java 端可以针对表创建队列,一个类实现一个队列(表)的处理器,针对不同的事件类型(增删改)执行不同的逻辑处理
拓展核心点
- MQ 消息不丢失
- 消费消息的幂等性处理
- 有时候我们可能会手动修改数据库,但是不希望触发 DataBus 对应的异步逻辑,可以在表中增加是否触发 DataBus 标志位
- 消息组件高可用
- 消息不堆积
- 数据一致性保证机制