2016-08-28 22 views
5

Çalışmakta olduğum örnekleri ve şu anda uğraşmakta oldukları isteği takip eden bir orkestratör hizmetim var. Yeni bir örnek gerekiyorsa, örnekleri artırmak ve yeni örneğin orkestratöre bağlanmasını beklemek için bir REST çağrısı yapıyorum. Örnek başına bir talep var.Bir Bluemix uygulamasının örneklerini azaltırken davranış

Orkestratör, bir örneğin herhangi bir şey yapıp yapmadığını ve hangi örneklerin durdurulacağını bilir, ancak API'de, belirli bir örneği durduran örneklerin sayısını azaltmamı sağlayan hiçbir şey olmadığını, yani elde etmeye çalıştığım şeyi izler. .

Platformu durdurmak istediğim örnekleri deterministik olarak durdurmak için yapabileceğim bir şey var mı? İhtiyaç duyduğum örneklere uzun süren HTTP istekleri göndererek ve artık gerekmediğinde isteği öldürerek, API çağrısını örneklerin sayısını azaltmaya zorlayarak verebilir miyiz? Burada konunun

Bölüm seni varsayarsak

cevap

1

bir uygulama örneklerinin her çalışan, CloudFoundry/Anında Süre uygulamaları bahsediyoruz ... Ben şimdiki davranış özelliklerini bilmek kalmamasıdır Örnekler arasında istekleri dağıtmak için yuvarlak robin kullanan bir yük dengeleyicinin arkasında (oturum yakınlık tanımlama bilgisi olmadıkça). Gelen talepler veya manuel ölçekleme için her bir örnek arasında ayrım yapılması önerilmez ve bu bir anti-desendir. Ölçek aşağı görevinin hangi örneği seçeceğini kontrol edemezsiniz.

Her bir örnekle bu denetim düzeyini gerçekten istiyorsanız, bunları ayrı uygulamalar olarak dağıtmanız gerekebilir. MyApp1, MyApp2, MyApp3, vb. Tüm uygulamalarınız aynı rotaya sahip olabilir (myapp.mybluemix.net). Uygulamaların her biri, artık onları sonlandırabilmeniz için adlarına (VCAP_APPLICATION) göre ayırt edebilmektedir.

+0

Örnek için istekte bulunulmaz; başladığında "iş" için orkestratöre bir istek yapar. Tamamlandığında, daha fazla iş yoksa, çalışan örnek sayısını azaltmak istiyorum. Mesele şu ki, "iş" i işleyen başka örneklere sahip olabilirdim ve örneklerin sayısını birer birer azaltınca kapanmalarını istemiyorum. Ayrı bir uygulamaya sahip olmak işe yarayacak, ancak uygulama sayısını artırmak istediğimde - yeni bir uygulama yapmak zorunda kaldığım için tekrar bir acı haline gelecekti. – Cheetah

+0

Sanırım CF/Bluemix'in hangi örneğini benim ihtiyaçlarına göre değiştirmesi için seçtiği algoritmayı bilmem gerekiyor. – Cheetah

+0

Uygulamanız için OpenWhisk gibi sunucusuz bir platform araştırdınız mı? Cloud Foundry'den daha uygun olabilir. Uygulama servisleri yalnızca bir istek geldiğinde yürütülür, çalışma yapmak için beklemeniz gerekmez. Platform, ölçekleme işlemek için birden çok hizmeti paralel olarak çalıştırabilir. Hizmetlerinizi harici olay akışlarını dinlemek için bağlayabilir ve yeni olaylar gerçekleştiğinde istek üzerine çağrılabilir. –