为了账号安全,请及时绑定邮箱和手机立即绑定

Pod 如何知道它的副本数量

Pod 如何知道它的副本数量

Go
不负相思意 2023-07-26 20:04:12
我正在开发一项服务(用 Go 编写),预计会收到大量请求。根据架构,服务的每个 Pod 都应该为特定的客户端提供服务。比方说,如果该服务有 3 个 pod,则分割将类似于 -> A-H, I-P, Q-Z,其中每个字母都是客户姓名的第一个字母。但如果这个服务有 4 个 pod,那么 split 可以是 -> A-F, G-N, O-U, V-Z。有没有办法我可以在 Go 代码中知道还有多少个其他副本?PS:据我所知,一种可能性是有一个environment variablein deployment.yaml. 但有一些方法可以在不改变yaml.
查看完整描述

1 回答

?
明月笑刀无情

TA贡献1828条经验 获得超4个赞

根据标题,解决方案是使用StatefulSet每个服务相互了解的地方,并且可以以处理这种情况的方式编写应用程序。

然而,对于这个问题,根据提到的细节,一个不使用的好的解决方案StatefulSet是创建一个Service带有sessionAffinity: ClientIP. 根据详细信息的要求是,后续请求必须发送到为前一个请求提供服务的特定 Pod。这可以使用sessionAffinity字段进行配置。当新客户端连接时,将在执行负载平衡后service选择一个。pod发布该内容后,所有后续请求都将仅针对该内容pod。可以使用 进一步配置SessionAffinityConfig


查看完整回答
反对 回复 2023-07-26
  • 1 回答
  • 0 关注
  • 121 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信