Question
如题,一个 Canal 实例和多个 Canal 实例监听同一个MySQL实例(版本5.7),对主库产生的压力是一样的吗?
由于一个 Canal 应用只能配置一个 Kafka 集群,由于业务需要将 binlog 写入多套 Kafka 集群,那么就得配置多个 Canal 应用,担心一个 MySQL 实例被多个 Canal 监听会产生较大压力进而影响业务;
如果确实是业务需要,多个 Canal 监听同一个数据库实例,这样正常吗?比如,以4c16g配置的数据库实例为例,控制被 Canal 监听的数量在多少之内是比较合理的呢?
4条答案
按热度按时间i1icjdpr1#
owfi6suc2#
感谢回答我的问题。
多套Kafka集群是由于历史原因在多套云上部署了,且都需要消费binlog。
针对同一套Kafka集群现在也确实是通过多个消费者组来消费的。
2w3kk1z53#
另外,一般怕master压力大,对延迟不那么敏感,你也可以通过监听slave的binlog来做
tag5nh1u4#
我们 RDS 用的是 AWS Aurora,之前有找AWS相关人员探究过这一块,后来对方表示不支持从从库获取 binlog(Aurora 的主从同步是通过 redo log 实现的),所以我们目前只能依赖主库来同步😥