如何在TiCDC同步数据到Kafka时,根据表中租户ID字段的值将数据路由到Topic的不同分区,并确保同一租户的数据严格有序?
【TiDB 使用环境】测试环境
【TiDB 版本】v8.5.3
【部署方式】云上部署
【操作系统/CPU 架构/芯片详情】
【机器部署详情】CPU大小/内存大小/磁盘大小
【集群数据量】
【集群节点数】
【问题复现路径】
数据库中每个表 均有 tenant_id 字段,且该字段创建了索引,使用 canal-json 协议, Partition 分发器 5中分发器 测试均不满足需求,同一个事务多个表数据会 分发到 kafka的不同分区,以下是 测试时创建 changefeeds的核心配置:
"dispatchers": [
{
"matcher": [
"*.*"
],
"partition": "index-value",
"index":"idx_tenant_id"
}
]
"dispatchers": [
{
"matcher": [
"*.*"
],
"partition": "columns",
"columns":["tenant_id"]
}
]