Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 卡夫卡连接确保订购_Mongodb_Apache Kafka_Apache Kafka Connect - Fatal编程技术网

Mongodb 卡夫卡连接确保订购

Mongodb 卡夫卡连接确保订购,mongodb,apache-kafka,apache-kafka-connect,Mongodb,Apache Kafka,Apache Kafka Connect,我想使用Mongo变更流,使用kafka Connect将变更事件从mongoDB推送到kafka主题中。 好消息是: 卡夫卡在分区内保持有序 Mongo使用全局时钟维护订单 但是,中间呢?卡夫卡连接怎么样?它能维持秩序吗?这种排序是如何工作的?我找不到有人说卡夫卡维持秩序的地方 下面是一个场景: 在Mongo中-更新要授权的用户Bob 在Mongo中-将用户bob角色更新为未经授权 然后,假设我有网络延迟,并且我的kafka connect是一个集群(多个实例),这种情况会发生吗(排序

我想使用Mongo变更流,使用kafka Connect将变更事件从mongoDB推送到kafka主题中。 好消息是:

  • 卡夫卡在分区内保持有序

  • Mongo使用全局时钟维护订单

但是,中间呢?卡夫卡连接怎么样?它能维持秩序吗?这种排序是如何工作的?我找不到有人说卡夫卡维持秩序的地方

下面是一个场景:

  • 在Mongo中-更新要授权的用户Bob
  • 在Mongo中-将用户bob角色更新为未经授权
然后,假设我有网络延迟,并且我的kafka connect是一个集群(多个实例),这种情况会发生吗(排序问题):

  • 获取事件以将bob更新为未经授权

  • 已获取事件以将bob更新为已授权

或者,如果Mongo change stream与kafka connect(以某种方式)同步,并且上述场景永远不会发生,或者,的“生产到kafka”阶段可能会由于网络延迟而不同步,kafka可能会先保存未经授权的消息,然后再保存授权的消息


注意,我说这一切都可能发生,因为它不仅仅是一个实例,它还可以作为一个集群工作。而且他们在文档中没有说任何确保kafka中的订购与mongodb变更流中的订购相同的内容。

如果订购非常重要,您是否可以选择直接从源应用程序向kafka写入?从回答中,我只能猜测mongo stream和kafka connect之间没有维持订单,正确的?在更新mongo时,我也不能直接写入kafka,因为它不是一个进行更改的应用程序,有时直接从mongodb进行更改。无论如何,这并不是非常重要,只是卡夫卡连接中缺少的信息。文档应该说明是否维护mongo变更流的顺序。(或者可能不是?)这取决于连接器AFAIK的实现,而不是卡夫卡连接本身。