开发者社区> 问答> 正文

group模式cursor问题

1.分库情况下总共10个库,配置了group-instance.xml。

2.有一个客户端来消费这些数据。

3.消费完了之后,服务端写cursor,在这个节点。/otter/canal/destinations/example/1001/cursor。格式化如下:{"@type":"com.alibaba.otter.canal.protocol.position.LogPosition","identity":{"slaveId":-1,"sourceAddress":{"address":"10.20.144.15","port":3306}},"postion":{"included":false,"journalName":"mysql-bin.002253","position":2574756,"timestamp":1363688722000}}

4.请问我总共配置了10个库,分别都消费了,这个在zk是怎么存储的呢?目前在zk中的cursor节点貌似只存储了一个吧

原提问者GitHub用户zhangjun0x01

展开
收起
绿子直子 2023-05-09 10:54:23 156 0
2 条回答
写回答
取消 提交回答
  • 只存储时间戳

    原回答者GitHub用户agapple

    2023-05-10 11:07:31
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    在分库情况下,每个库都会有一个对应的canal实例,每个实例都会有一个对应的cursor节点来记录消费位置。在zk中的存储方式是在每个实例的节点下面,存储各自的cursor节点。例如,在示例中,节点路径为/otter/canal/destinations/example/1001/cursor,表示的是实例1001的消费位置。如果有多个实例,就会有多个类似的路径。因此,在zk中会存储所有实例的cursor节点,而不是只有一个。

    2023-05-09 12:00:48
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载