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

Che*_*tah 5 cloud-foundry ibm-cloud

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

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

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

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

Ram*_*nam 1

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

如果您确实希望对每个实例进行这种级别的控制,也许您应该将它们部署为单独的应用程序。MyApp1、MyApp2、MyApp3 等。您的所有应用程序都可以具有相同的路由 (myapp.mybluemix.net)。现在,每个应用程序都可以通过名称 (VCAP_APPLICATION) 来区分自己,从而允许您终止它们。