Cloud foundry cloud foundry中基于内容的请求路由?

Cloud foundry cloud foundry中基于内容的请求路由?,cloud-foundry,Cloud Foundry,通常与Kubernetes一起使用的Istio支持基于内容的路由: 例如,您可以为每个用户设置标题和影响路由(例如) 这在Cloud foundry中可能吗?我可以想象,它将绑定到多个CF应用程序。当然,您需要编写自己的路由逻辑 理论上,您可以编写Istio包装器代码,因此Istio将充当CF路由服务。我可以想象,它将绑定到多个CF应用程序。当然,您需要编写自己的路由逻辑 理论上,您可以编写Istio包装器代码,因此Istio将充当CF路由服务。另一种选择是在应用程序集前面部署反向代理应用程序

通常与Kubernetes一起使用的Istio支持基于内容的路由:

例如,您可以为每个用户设置标题和影响路由(例如)

这在Cloud foundry中可能吗?

我可以想象,它将绑定到多个CF应用程序。当然,您需要编写自己的路由逻辑

理论上,您可以编写Istio包装器代码,因此Istio将充当CF路由服务。

我可以想象,它将绑定到多个CF应用程序。当然,您需要编写自己的路由逻辑


理论上,您可以编写Istio包装器代码,因此Istio将充当CF路由服务。

另一种选择是在应用程序集前面部署反向代理应用程序。例如,请求流如下所示:

Client -> Load Balancers -> Gorouter -> Proxy App -> Actual App
这可能是,但我认为它提供了一些优势。代理应用到实际应用的连接可以通过容器网络完成,因此我认为与路由服务相比,您可以删除一些跃点,并且与路由服务类似,您可以阻止直接访问您的实际应用。这就是说,你也可以代理你的实际应用程序的路由,只需第二次通过LB&Gorouters即可

您可以使用ApacheWeb服务器、Nginx,或者即使您想要一些能够非常灵活地进行路由的东西


无论如何,这并没有很大的不同,但这是一个稍微不同的选择。

另一个选择是在应用程序集前面部署反向代理应用程序。例如,请求流如下所示:

Client -> Load Balancers -> Gorouter -> Proxy App -> Actual App
这可能是,但我认为它提供了一些优势。代理应用到实际应用的连接可以通过容器网络完成,因此我认为与路由服务相比,您可以删除一些跃点,并且与路由服务类似,您可以阻止直接访问您的实际应用。这就是说,你也可以代理你的实际应用程序的路由,只需第二次通过LB&Gorouters即可

您可以使用ApacheWeb服务器、Nginx,或者即使您想要一些能够非常灵活地进行路由的东西


不管怎么说,没有太大的不同,但这是一个稍微不同的选择。

你能更具体一点吗?您希望如何影响路由?CF中支持粘性会话,这会影响路由,还有一个标头可以设置为将请求固定到特定的应用程序实例,当然,您可以对路由和路径进行适当的处理。没有什么可以说的,如果存在某个标头,则具有该标头的请求将被路由到特定的应用程序。你必须使用Jan的解决方案。我想允许开发者将他们自己的应用程序版本部署到共享的CF空间。当开发人员登录到开发的应用程序时,路由需要确保使用的不是应用程序的默认版本,而是开发人员特定的版本。我想是的,Jan下面的建议将是go的方法。您如何确定传入的请求需要转到特定于开发人员的应用程序版本?如果您访问了www.example.com,而这通常会转到example-app,那么您如何知道对www.example.com的请求应该转到example-dev1-app?路由将基于一个http头,该头设置了一些特定的值?您可以更具体一些吗?您希望如何影响路由?CF中支持粘性会话,这会影响路由,还有一个标头可以设置为将请求固定到特定的应用程序实例,当然,您可以对路由和路径进行适当的处理。没有什么可以说的,如果存在某个标头,则具有该标头的请求将被路由到特定的应用程序。你必须使用Jan的解决方案。我想允许开发者将他们自己的应用程序版本部署到共享的CF空间。当开发人员登录到开发的应用程序时,路由需要确保使用的不是应用程序的默认版本,而是开发人员特定的版本。我想是的,Jan下面的建议将是go的方法。您如何确定传入的请求需要转到特定于开发人员的应用程序版本?如果您访问了www.example.com,而这通常会转到example应用程序,那么您如何知道对www.example.com的请求应该转到example-dev1-app?路由将基于设置了特定值的http头