【问题标题】:Spring cloud gateway route with multiple instances and sticky session具有多个实例和粘性会话的 Spring Cloud Gateway 路由
【发布时间】:2018-11-18 10:48:48
【问题描述】:

我对 Spring Cloud Gateway 非常陌生。我已经使用“路径”配置了两个不同应用程序的路由。现在,我需要一些帮助/文档

1. How to route to different instance of an app from spring cloud gateway?
2. How to enable sticky session?

我的应用没有使用 spring boot/eureka。如果我使用任何发现客户端,我确实可以使用 lb://service-name(不幸的是,这不是我的情况)。

提前致谢。

【问题讨论】:

  • 到两个不同的实例?在一些 LB 下?如果没有服务注册表和发现客户端,您将无法使用基于 lb://service-name 的 url。如果实例在不同的端口上运行,您需要在映射的 uri 部分中提供准确的 url

标签: spring spring-boot spring-cloud spring-cloud-gateway


【解决方案1】:

恕我直言:

  1. 如何从spring cloud gateway路由到应用的不同实例?

路由到不同的实例是spring cloud gateway的基本工作。 Spring cloud gateway 实现了名为 client side routing 的模式以及 service discovery 的易用性。因此,如果您没有使用任何发现服务器或您的应用程序未在任何发现服务器上注册,您将失去动态发现和路由功能,但您仍然可以指定您的服务器列表(请参阅 Netflix 功能区)。在此之前,您可以考虑您的路由策略。

  1. 如何启用粘性会话?

我想这是您的路由策略的一项要求 - 实施粘性会话,因为您没有使用 共享 会话存储。根据我对spring cloud gateway的有限了解,sticky似乎不支持开箱即用。但它可以使用 Filter 进行自定义,请参阅随附的 LoadBalancerClientFilter 以供参考。

祝你好运!

【讨论】:

    猜你喜欢
    • 2019-08-03
    • 2015-05-26
    • 1970-01-01
    • 2023-01-21
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    • 2018-07-01
    相关资源
    最近更新 更多