MongoDB ChangeStream功能是否可以替换发布/订阅技术

问题描述 投票:1回答:1

我正在经历MongoDB ChangeStream,我知道它减少了拖尾oplog的风险-我们目前正在拖尾oplog以将数据发布到Kafka。

[请帮助我掌握,以便相比于诸如Kafka或RabbitMQ的发布/订阅技术,如何更好地进行变更流

mongodb apache-kafka rabbitmq publish-subscribe
1个回答
0
投票

ChangeStreams不应该与Pub / Sub技术进行比较-ChangeStreams提供了一种安全的方法,可以捕获并处理实时(数据)更改事件(正如您正确指出的那样,以前您必须拖尾MongoDB中的oplog,以实现类似的结果,它具有一系列自身的问题,风险和复杂性,使开发人员难以承受。]

如上所述,ChangeStreams提供了一种安全的方法来查看MongoDB中发生的每个数据更改事件,对这些事件应用过滤器,然后处理每个合格事件。 ChangeStreams使您可以根据oplog覆盖的时间段重播以前的事件-例如,如果实现ChangeStreams的应用程序失败,则可以从应用程序失败的那一刻开始接听。

虽然ChangeStreams从事件标识/处理的角度表现出类似Pub / Sub的行为,但这就是相似性停止的地方。您想在MongoDB中捕获/识别数据更改事件以进行下游处理的典型/常见用例是创建一个利用MongoDB驱动程序,实例化ChangeStream以及针对MongoDB中发生的每个合格事件的Kafka Producer(通过ChangeStream提供)将其传递给Kafka。

© www.soinside.com 2019 - 2024. All rights reserved.