0
点赞
收藏
分享

微信扫一扫

canal和rocketmq

舍予兄 2021-09-28 阅读 71
码哥

canal使用rocketmq做数据同步的问题

  • canal.mq.partitionsNum设置同步数据的队列数,一旦设置就不能更改,此时rocketmq后端broker如果有增减机器,会造成队列数变化,canal就会报错
  • 这个问题的本质是canal如果要稳定保证顺序的话一定要依赖一个队列数不变的顺序topic,否则在队列数变化的瞬间会有些数据无法保证顺序
  • 所以要避免这个问题,可以保证rocketmq的队列数不变,使用自建rocketmq集群还好,如果使用云rocketmq是无法保证队列数不变的。而且队列数不变也意味着rocketmq集群无法扩缩容
  • 还有一种方式就是canal中不要指定队列数,通过rocketmq提供的api自动感知topic的队列数,并且明确告诉用户当队列数有变化的瞬间无法保证数据顺序
举报

相关推荐

0 条评论