关于这个canal.mq.partitionHash的问题,如果我需要投递我所有的表,那我如何写? 或者,我需要我的部分表,他们的主键都是ID,如何写?
最后,如果我的部分表的主键是ID,另一部分是NAME,如何写? 麻烦大神解答下,谢谢!
原提问者GitHub用户ZSH9053
最新版本1.1.3, 配置格式:schema.table:pk1^pk2,多个配置之间使用逗号分隔
例子1:test\.test:pk1^pk2 指定匹配的单表,对应的hash字段为pk1 + pk2
例子2:.\..*:id 正则匹配,指定所有正则匹配的表对应的hash字段为id
例子3:.\..*:$pk$ 正则匹配,指定所有正则匹配的表对应的hash字段为表主键(自动查找)
例子4: 匹配规则啥都不写,则默认发到0这个partition上
例子5:.\..* ,不指定pk信息的正则匹配,将所有正则匹配的表,对应的hash字段为表名
按表hash: 一张表的所有数据可以发到同一个分区,不同表之间会做散列 (会有热点表分区过大问题)
例子6: test\.test:id,.\..* , 针对test的表按照id散列,其余的表按照table散列
大家可以结合自己的业务需求,设置匹配规则,多条匹配规则之间是按照顺序进行匹配(命中一条规则就返回),静待正式版发布吧
原回答者GitHub用户agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。