实现不同的数据库之间的同步方式
2024/12/23 12:25:48
来源:https://blog.csdn.net/weixin_45247019/article/details/140244059
浏览:
次
关键词:实现不同的数据库之间的同步方式
第一种 实时同步
- 针对实时性要求比较高的场景可以使用canal中间件实现,我们内部的大数据项目中也有用dataX的。
canal 的主要用途是基于mysql数据库增量日志解析,并能提供新增量数据订阅和消费,从而实现数据同步。其主要是基于mysql 的binlog 技术实现的数据同步。
主要工作原理如下:
1、 canal模拟Mysql slave的交互协议,伪装为Mysql slave 发送dump 协议
2、Mysql master接收到dump请求,推送binanry log 给slave
3、 canal 解析binartlog 对象 - 在写入mysql 直接同步 代码耦合度高
第二种对实时性要求不高
- MQ
向mysql写入数据时同时向mq写入 mq收到消息,同步到其他数据库。但需要处理MQ的最重要的问题,消息的可靠性。 - Logstash elk的组成部分,logstash 负责收集、解析、转换数据。
- 任务调度 开启定时任务扫描到进行同步