首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >发布到kafka成功数据库更新失败分布式系统如何维护一致性

发布到kafka成功数据库更新失败分布式系统如何维护一致性
EN

Stack Overflow用户
提问于 2020-03-31 10:24:46
回答 1查看 51关注 0票数 0

我在一个分布式系统(eCommerce)上工作,并使用Kafka事件在系统之间进行通信。所以根据我们的业务逻辑,我们首先发布到Kafka topic (成功),然后更新oracle数据库。数据库更新有时会失败,如何维护系统间的状态一致性?由于另一个系统将使用订单的新状态更新其数据库,而生产者将仅具有旧状态,因此如何减少这种不一致?

EN

回答 1

Stack Overflow用户

发布于 2020-03-31 12:27:38

你正在使用的实际调用双重写入,这可能会导致永久不一致,因为许多丑陋的问题,如部分失败,如你的情况,竞争条件……

我发现一种非常有趣的方法是使用change data capture来保持不同数据系统之间的同步。

强烈推荐Martin Kleppmann关于如何使用这种架构的博客演讲:

  1. Using logs to build a solid data infrastructure
  2. Staying in Sync: from Transactions to Streams
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60942497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档