数据库同步__主从复制原理

用户对MySQL主数据库(master)进行增删改操作,此时会做一个bin-log的日志记录文件。从数据库slave会读取主数据库中的日志记录文件 从而进行恢复操作。

canal原理: 用来监控数据库数据的变化,从而获得新增数据,或者修改数据。

1.canal模拟mysql slave的交互模式,将自己伪装成mysql slave,向mysql master发送dump协议
2.mysql master收到dump请求 开始推送给binary log给slave
3.canal 解析 binary log对象(二进制日志对象)

canal 在项目中用来做什么事情呢 ?

canal在项目中主要用于数据增量的同步操作,可以将数据同步到redis中,其他MySQL,elasticSearch功能等,在南京项目中要实现广告缓存的同步(redis),网站公告(redis),商品数据(elasticSearch),击穿缓存更新,商品缓存数据更新(elasticSearch),elasticSearch索引库增量更新。

canal将数据同步到那里去呢?另外一台mysql redis elasticSearch rabbimq等等

图片说明