【发布时间】:2015-10-23 17:24:59
【问题描述】:
我在 Bluemix(cloud Foundry)中有两个相同的微服务实例。我想将 90% 的流量路由到一项服务,将剩余 10% 的流量路由到其他服务。您能告诉我如何在 Bluemix 中执行此操作吗
【问题讨论】:
标签: cloud ibm-cloud cloud-foundry microservices
我在 Bluemix(cloud Foundry)中有两个相同的微服务实例。我想将 90% 的流量路由到一项服务,将剩余 10% 的流量路由到其他服务。您能告诉我如何在 Bluemix 中执行此操作吗
【问题讨论】:
标签: cloud ibm-cloud cloud-foundry microservices
实际上,Bluemix 不支持它。 可以根据需要在容器上安装并运行正确配置的负载平衡器,并使其按照平衡策略将请求转发给代理。 如果您创建一个容器组而不是一个容器,您还可以拥有一个容错解决方案,而不会出现单点故障。
【讨论】:
这目前在 Cloud Foundry 中是不可能的,它是 Bluemix 所基于的开源平台。
唯一的解决方法是拥有九个旧服务实例和一个新服务实例。然后,循环负载均衡器平均会将 10% 的流量分配给新实例。
【讨论】:
正如詹姆斯所说 - 目前不可能。
您可以用来“模拟”负载平衡器的一种解决方法是设置一个处理所有请求的应用程序。将路由绑定到该应用程序,然后在其中包含一些逻辑,该逻辑仅以 9:1 的比例将流量重定向到其他服务。
使用这种方法的风险是:
您可以通过在“负载均衡器”应用上使用多个实例来最大程度地降低第一个风险。
【讨论】: