MongoDB 更改流 - 重复记录/多个侦听器

问题描述

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

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

解决方法

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

修复 POD 名称只能使用 stateful sets

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

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