美文网首页
canal和rocketmq

canal和rocketmq

作者: 江江的大猪 | 来源:发表于2021-05-26 14:24 被阅读0次

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

    因为要保证数据的顺序,所以要使用rocketmq的顺序topic,保证在发送和消费端都是用rocketmq顺序topic的对应api来保证顺序

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

    相关文章

      网友评论

          本文标题:canal和rocketmq

          本文链接:https://www.haomeiwen.com/subject/szeksltx.html