1.什么是Canal
canal可以用来监控数据库的变化,从而获得新增的数据、修改的数据。canal是阿里巴巴为了同步机房数据的业务需求而提出的。阿里巴巴公司开发的逐步尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅&消费的业务。
2.Canal同步流程图
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/52844169dbb3b49e1ef096049a054d74.png)
3.应用场景
在使用缓存,如Redis等,或者是ElasticSearch等的时候,mysql数据发生变化,这些数据依然不会根据Mysql数据的改变而改变,这个时候就需要Canal进行mysql数据的同步,同步刷新缓存以及搜索索引文件。