Canal中间件
半塘 2023/8/31 数据库MySQL中间件Redis
# 1、Canal介绍
Canal
是用Java
开发的基于 MySql
数据库增量日志解析,提供增量数据订阅&消费的中间件。
早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。
常用的数据库同步中间件
- Apache ShardingSphere(推荐,京东、当当等大型互联网公司落地使用)
- Mycat(最近也比较火)
- Canal
# 2、Canal解决缓存一致性问题
Canal
主要的作用是用于解决数据库与缓存数据一致性问题。为了加快数据的查询,一般系统都会使用缓存,Redis缓存是目前使用比较广泛的缓存。
Redis缓存操作流程图: