Mysql向ES同步用DTS数据订阅功能,DTS能把mysql的两个表的数据合并成一条binlog,发送到DTS的SDK的consumer吗?业务去消费合并后的这条binlog数据呢?
DTS 不支持将两个 MySQL 表的数据合并成一条 Binlog,因为在 MySQL 的 Binlog 中,每个 Binlog 都是针对一张表或一个数据库的,无法将多张表的数据合并到一条 Binlog 中。
但是,您可以在 DTS 上设置两个 MySQL 数据源的数据同步任务,将两个表的数据分别同步到 Elasticsearch 中。这种方式下,您需要在 Elasticsearch 中设计好两个表的数据结构,然后分别将两个表的数据同步到不同的索引中。
在消费 Elasticsearch 中的数据时,您可以将两个索引中的数据合并到一起。这种方式下,您需要根据 Elasticsearch 返回的结果,将来自不同索引的数据按照自己的业务逻辑进行合并,然后再进行消费。
考虑到在消费时需要进行多次请求和数据处理,因此建议您使用 Logstash、Filebeat 等工具,将 Elasticsearch 中的数据合并后写入到消息队列中,在业务中从消息队列中获取数据进行消费。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。