PCF(blue/green 部署)- 如何 segment/route 用户基于他们的属性

PCF (blue/green deployment) - How to segment/route users based on their attributes

我正在尝试为 blue/green 部署找到 PCF 上的用户细分解决方案。我想在 PCF 上部署 Java 应用程序的两个版本,比如蓝色版本和绿色版本。现在,我想将一组特定的用户路由到 GREEN,将其余用户路由到 BLUE。我需要知道是否有一种方法可以让网关(例如 zuul)根据用户的属性来路由用户。并非所有必需的用户属性都在请求的 header 中——它们存储在数据库中。当请求来的时候,用户id在请求中。但是在 segment/route 用户到 BLUE/GREEN 之前,我需要从数据库中检索他们的一些信息。

任何 comment/suggestions 将不胜感激! 谢谢

CloudFoundry 中没有任何东西可以提供此功能。您可以使用 CF 做的最好的事情是使用路由将流量推送到不同的地方,这是历史上 blue/green 部署所做的事情。

如果您需要更多的自定义控制,就像您所描述的那样,您需要有一个额外的路由层来实现您的自定义路由要求。

既然你提到了Java,我建议你看看Spring Cloud Gateway。这是一种非常灵活的流量路由方式。

您需要进行设置,以便您的所有流量都通过 CF 上的映射 public 路由发送到您已推送的 SCG 应用程序。然后 SCG 应用程序会将流量路由到您的实际应用程序,这可能发生在 public 路由上,或者更好的是使用 CloudFoundry 容器网络和内部路由。通过这种方式,您可以强制所有流量通过您的网关,因为没有 public 访问其他应用程序。

https://docs.cloudfoundry.org/devguide/deploy-apps/routes-domains.html#internal-routes