减少Bluemix应用程序实例时的行为

时间:2016-08-28 15:09:26

标签: ibm-cloud cloudfoundry

我有一个orchestrator服务,它跟踪正在运行的实例以及它们当前正在处理的请求。如果需要新实例,我会进行REST调用以增加实例并等待新实例连接到orchestrator。这是每个实例的一个请求。

orchestrator跟踪实例是否正在执行任何操作并知道哪些实例可以停止,但是API中没有任何内容允许我减少停止特定实例的实例数,这正是我想要实现的。

我可以做些什么来操纵平台以确定性地停止我想要停止的实例?也许通过长时间运行HTTP请求到我需要的实例并在不再需要时终止请求,然后进行API调用以减少实例数量?

这里的部分问题是我不知道当前行为的具体细节......

1 个答案:

答案 0 :(得分:1)

假设您正在谈论CloudFoundry / Instant Runtime应用程序,应用程序的所有实例都在负载均衡器后面运行,该负载均衡器使用循环法在实例之间分配请求(除非您设置了会话关联cookie)。不推荐区分传入请求的每个实例或手动缩放,这是一种反模式。您无法控制缩小任务将选择的实例。

如果你真的想要对每个实例进行这种级别的控制,那么你可能应该将它们作为单独的应用程序部署。 MyApp1,MyApp2,MyApp3等。您的所有应用程序都可以使用相同的路径(myapp.mybluemix.net)。现在,每个应用程序都可以通过名称(VCAP_APPLICATION)区分它们,从而允许您终止它们。