我正在尝试在 kubernetes 中部署具有负载平衡的应用程序
下面是我的预期部署图
理想情况下,应用程序由一组使用 k8s 部署的 pod 部署,类型为“后端”
通常,用户实例存储在存档中。并根据请求动态恢复到其中一个 pod,在那里停留 TTL 时间(比如 30 分钟),然后删除并备份到存档中。
理想情况下,负载平衡由一组使用 k8s 部署的 pod 部署,类型为“前端”。
理想情况下,前端配置为带有“sticky = host”的第 7 层会话粘性。主机等于后端 pod 的 UID
用户通过 SOAP 消息请求服务,该消息在其正文中包含参数“host”和“user”。
当 SOAP 消息到达前端时,会从消息正文中提取“主机”值。
如果“host”值有效,则 SOAP 消息被转发到相应的后端 pod(其 UID 等于主机值)。否则,分配一个随机的后端 pod。
(此处的处理是特定于应用程序的)在后端 pod 中,应用程序通过“user”的值检查用户实例的可用性。
如果已经存在,就使用它;否则,尝试从存档中恢复;如果恢复失败(新用户),则创建一个新用户实例。
我四处搜寻,并没有找到任何类似的例子。尤其是layer7会话粘性配置,以及自定义获取传入消息体粘性值的实现。