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

Ibm cloud 减少Bluemix应用程序实例时的行为,ibm-cloud,cloud-foundry,Ibm Cloud,Cloud Foundry,我有一个orchestrator服务,它跟踪正在运行的实例以及它们当前正在处理的请求。如果需要一个新实例,我将进行REST调用以增加实例,并等待新实例连接到orchestrator。每个实例一个请求 orchestrator跟踪实例是否正在执行任何操作,并知道哪些实例可以停止,但是API中没有任何内容允许我减少停止特定实例的实例数,这正是我试图实现的 我能做些什么来操纵平台以确定地停止我想要停止的实例?也许通过对我需要的实例长时间运行HTTP请求并在不再需要时终止请求,然后进行API调用以减少实

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

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

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


这里的部分问题是,我不知道当前行为的细节…

假设您谈论的是CloudFoundry/即时运行时应用程序,应用程序的所有实例都在负载平衡器后面运行,负载平衡器使用循环来跨实例分发请求(除非已设置会话关联cookie)。不建议区分传入请求的每个实例或手动缩放,这是一种反模式。您无法控制缩放任务将选择哪个实例


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

不向实例发出任何请求;当实例启动时,它会向orchistrator发出“工作”请求。一旦完成,如果没有更多工作,我希望减少运行的实例数。问题是,我可以让其他实例处理“工作”我也不希望在我减少实例数量时它们被关闭。在这里使用单独的应用程序是可行的,但当我想增加应用程序数量时——这将再次成为一种痛苦,因为我必须准备一个全新的应用程序。我想我需要知道CF/Bluemix选择停止哪个实例的算法……以便根据我的需要操作它。您是否为您的应用程序研究过像OpenWhisk这样的无服务器平台?它可能比Cloud Foundry更适合。应用程序服务仅在收到请求时执行,您没有实例等待执行工作。平台可以并行执行多个服务以处理扩展。您可以指示您的服务以收听外部事件流,并在新事件发生时按需调用。@JamesThomas-我正试图将这个方钉塞进一个圆孔中,因为我被要求这样做。不幸的是,政治要求我必须使用这个平台,因为该公司已经为此付出了代价,所以我正试图找到一种方法使它发挥作用。@Cheetah T这里有一些方法可以实现这一点,但是在SO评论部分之外讨论这一点会更容易。如果您需要这方面的帮助,可以直接通过james.thomasATuk.ibm.com给我发电子邮件