【问题标题】:SpringBoot controler redirect across docker poodsSpring Boot 控制器跨 docker pod 重定向
【发布时间】:2019-01-03 07:12:13
【问题描述】:

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

谢谢,

SR

【问题讨论】:

    标签: docker spring-boot redirect kubernetes


    【解决方案1】:

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

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

    一些指向解决方案的指针

    【讨论】:

    • 谢谢维沙尔!不幸的是,我们还没有 Redis 解决方案。我们使用的是 Nginx,但我认为我们切换到了 Traefik。我正在尝试使用 Traefik 的粘性,但会玩得更多。我确实启用了亲和力。但似乎没有工作。如果有任何例子,请告诉我。
    猜你喜欢
    • 2020-09-25
    • 2016-01-24
    • 2016-08-29
    • 2017-04-14
    • 2018-02-11
    • 1970-01-01
    • 2019-06-09
    • 2019-01-28
    相关资源
    最近更新 更多