【问题标题】:MongoDB change stream - Duplicate records / Multiple listenersMongoDB 更改流 - 重复记录/多个侦听器
【发布时间】:2021-01-07 01:55:35
【问题描述】:

我的问题是此处先前讨论的延伸: Mongo Change Streams running multiple times (kind of): Node app running multiple instances

在我的例子中,应用程序部署在 Kubernetes pod 上。至少有 3 个 pod,最多 5 个 pod。上述链接中提到的解决方案建议在 $mod 运算符中使用 。由于应用程序部署到 K8s pod,因此 pod 名称是动态的。如何为我的场景实现类似的解决方案?

【问题讨论】:

    标签: node.js mongodb mongodb-query changestream


    【解决方案1】:

    如果您正在运行无状态工作负载,我不确定您为什么要修复 POD(部署)的名称。

    只能使用stateful sets 修复 POD 名称。

    您应该使用 statefulset 而不是部署,复制控制器 (RC),但是,复制控制器已替换为 ReplicaSet。

    StatefulSet Pod 具有由序数组成的唯一标识。对于任何有 N 个副本的 StatefulSet,StatefulSet 中的每个 Pod 都会被分配一个整数序号,从 0 到 N-1,这在整个 Set 中都是唯一的。

    【讨论】:

    • 我可以接受任何其他独特的信息。我只是给出了一个 pod 名称的示例,以与引用链接中提到的选项进行比较。我只是想为我的场景使用引用的解决方案。
    • 如果您使用有状态集,则 pod 名称将不是动态的。
    • 听起来不错,但不幸的是,我不能使用有状态的。
    猜你喜欢
    • 2012-11-29
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-17
    • 1970-01-01
    • 2019-03-08
    相关资源
    最近更新 更多