gpt4 book ai didi

docker - 跨 docker pod 的 Spring Boot Controller 重定向

转载 作者:行者123 更新时间:2023-12-02 11:40:45 27 4
gpt4 key购买 nike

我们有一个 SpringBoot Web 应用程序 docker 容器部署在 Kubernetes 中,有 3 个副本。当 Controller 重定向到同一 Controller 内的不同 url 时,我们通过 flashAttributes 传递一个对象。当我们运行 1 个 pod 时,一切正常。但是当我扩展到 3 个 pod 时,对象的所有内部属性都设置为 Null。有人遇到过这个问题吗?如果是,请给出解决方案?

谢谢,

回复

最佳答案

Kubernetes 可以将多个请求从一个 session 发送到部署中的不同 pod。这就是数据丢失的原因,因为数据可能在一个 pod 的内存中,但另一个 pod 根本没有该数据。

为避免这种情况 - 您可以在 Redis 等外部存储中维护 session 缓存,或者使用粘性 session ,以便将给定 session 请求发送到同一个 pod。

一些解决方案

关于docker - 跨 docker pod 的 Spring Boot Controller 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51536299/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com