【发布时间】:2020-06-11 05:35:51
【问题描述】:
我开始探索使用变更数据捕获将数据库变更从遗留和商业应用程序(我无法修改)转换为其他系统可以使用的事件。简化我的真实案例,假设将涉及两个表,order 包含订单标题详细信息,order_line 包含请求的每个产品的详细信息。
我目前的理解是这两个表中的事件将被发布到两个不同的 kafka 主题中,我应该使用 kafka-streams 或 ksql 聚合它们。我已经看到有不同的选项来定义将用于选择所有相关事件的窗口,但是我不清楚如何确定来自同一数据库事务的所有事件都已经在主题,所以我不会错过任何一个。
Debezium 是否能够确保这一点(来自同一事务的所有事件都已发布),或者可能发生以下情况,例如,Debezium 在发布事件时崩溃,并且同一事务生成的只有部分事件在 Kafka 中?
如果是这样,推荐的处理方法是什么?
谢谢
【问题讨论】:
标签: apache-kafka debezium