Canal中间件

2023/8/31 数据库MySQL中间件Redis

# 1、Canal介绍

Canal是用Java开发的基于 MySql数据库增量日志解析,提供增量数据订阅&消费的中间件。

早期阿里巴巴因为杭州和美国双机房部署,存在跨机房同步的业务需求,实现方式主要是基于业务 trigger 获取增量变更。从 2010 年开始,业务逐步尝试数据库日志解析获取增量变更进行同步,由此衍生出了大量的数据库增量订阅和消费业务。

常用的数据库同步中间件

  • Apache ShardingSphere(推荐,京东、当当等大型互联网公司落地使用)
  • Mycat(最近也比较火)
  • Canal

# 2、Canal解决缓存一致性问题

Canal主要的作用是用于解决数据库与缓存数据一致性问题。为了加快数据的查询,一般系统都会使用缓存,Redis缓存是目前使用比较广泛的缓存。

Redis缓存操作流程图: