首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB ChangeStream诉Apache

MongoDB ChangeStream诉Apache
EN

Stack Overflow用户
提问于 2022-02-27 21:51:48
回答 1查看 590关注 0票数 1

我希望能够继续处理来自MongoDB的数据,在确保(由我写的)上插入成功之后。要做到这一点,我有两种选择:

  • 在MongoDB的写作成功后,给卡夫卡写信(来自给蒙戈的同一份工作)
  • 通过Mongo ChangeStream接收书面文档的事件,并从那里继续处理它们

就我的理解而言,我认为Kafka的优势在于它是分布式的,可以从多个实例中读取(我知道ChangeStream不容易让这个实例读取)。我看到的ChangeStream的优点是,它让我知道是什么样的操作(我执行向上插入,这样我就可以知道每个插入是一个插入还是一个更新)。我并不是问哪个更好,因为它显然为不同的用例服务。但是,对于我在这里考虑的这些选项,还有其他的特性或缺点吗?

我还了解到,这两种方法都可以在客户端的读取失败一段时间后继续进行(卡夫卡在其配额内,ChangeStream在恢复令牌上)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-02-28 12:20:53

两阶段提交会导致不一致;您应该只写到一个位置,而您认为这个位置更高。

您可以写到Mongo,然后使用Debezium将数据从ChangeStream流到Kafka (例如,包括操作)。这被称为“发件箱模式”。

或者您可以写到Kafka,并使用MongoDB接收器连接器将数据发送到数据库。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71288742

复制
相关文章

相似问题

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