1、TiCDC 多个changefeed订阅了同一个表,每个任务都要去 tikv 的 region 中拉取数据吗?即:任务1 拉取表A,任务2 也拉取表A。两个任务都要去 tikv 中拉取数据吗?
2、基于问题1 ,如果每个任务都要去 tikv 的 region 中拉取数据,那么 gRPC连接会增加,那么此时对tikv cluster 的影响大吗?
由于本人是 go 语言小白,还没有能力查看源码,所以恳请大佬解答~
1、TiCDC 多个changefeed订阅了同一个表,每个任务都要去 tikv 的 region 中拉取数据吗?即:任务1 拉取表A,任务2 也拉取表A。两个任务都要去 tikv 中拉取数据吗?
2、基于问题1 ,如果每个任务都要去 tikv 的 region 中拉取数据,那么 gRPC连接会增加,那么此时对tikv cluster 的影响大吗?
由于本人是 go 语言小白,还没有能力查看源码,所以恳请大佬解答~
1、TiCDC 多个changefeed订阅了同一个表,每个任务都要去 tikv 的 region 中拉取数据吗?即:任务1 拉取表A,任务2 也拉取表A。两个任务都要去 tikv 中拉取数据吗?
是的,表 A 的数据会被拉两遍。
2、基于问题1 ,如果每个任务都要去 tikv 的 region 中拉取数据,那么 gRPC连接会增加,那么此时对tikv cluster 的影响大吗?
TiCDC 上的不同 changefeed 会复用 gRPC 连接。现在的实现中,单个 TiCDC 和 TiKV 之间只会有一条 gRPC 链接。TiCDC 对 TiKV 的影响主要看业务负载,如果是读多写少,那影响较小;如果写多读少且 TiKV 本身 gRPC 模块 CPU 负载已经很高,那可能会有些影响。
这里的写多读少是业务的的写吗?如果是业务的写,tikv 不仅要进行数据的存储,也要将数据发往 ticdc,确实有点消耗 CPU。对了,是 ticdc 主动拉 tikv 的 changelog,还是 tikv 主动发给 ticdc 的呀?我记得有个 tikv cdc component,这个组件有相关文档嘛?
对了,是 ticdc 主动拉 tikv 的 changelog,还是 tikv 主动发给 ticdc 的呀?我记得有个 tikv cdc component,这个组件有相关文档嘛?
TiCDC 主动发起向 TiKV 发起链接,链接建立后 TiKV 主动发给 TiCDC,消息的发送有流控,只有 TiCDC 能处理了,TiKV 才能发送成功。目前还没有 TiKV 中 CDC component 的公开原理性质文档。
好的,感谢大佬
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。