Mam usługę orkiestratora, która śledzi uruchamiane instancje i z jaką prośbą aktualnie się zajmują. Jeśli wymagana jest nowa instancja, wykonuję wywołanie REST, aby zwiększyć instancje i czekać na połączenie nowej instancji z orchestratorem. To jedno żądanie na instancję.Zachowanie podczas zmniejszania liczby wystąpień aplikacji Bluemix
Orkiestrator śledzi, czy instancja coś robi i wie, które instancje można zatrzymać, jednak w interfejsie API nie ma nic, co pozwoliłoby zmniejszyć liczbę instancji zatrzymujących określoną instancję, co staram się osiągnąć .
Czy jest coś, co mogę zrobić, aby manipulować platformą w celu deterministycznego zatrzymywania wystąpień, które chcę zatrzymać? Być może przez długie odświeżanie żądań HTTP do instancji, których wymagam i zabijanie żądania, gdy nie są już potrzebne, a następnie wywołanie interfejsu API w celu zmniejszenia liczby instancji?
Częścią problemu jest to, że nie znam specyfiki obecnego zachowania ...
Do instancji nie są wysyłane żadne żądania; kiedy się uruchomi, wysyła prośbę do sadystora o "pracę". Po zakończeniu, jeśli nie ma więcej pracy, chciałbym zmniejszyć liczbę uruchomionych wystąpień. Problem polega na tym, że inne procesy mogą przetwarzać "prace" i nie chcę, aby były zamykane, gdy zmniejszam liczbę wystąpień o jeden. Posiadanie osobnych aplikacji działałoby tutaj, ale gdy chcę zwiększyć liczbę aplikacji - znowu stałoby się to trudniejsze, ponieważ musiałbym wystawić całą nową aplikację. – Cheetah
Chyba muszę znać algorytm, według którego CF/Bluemix wybiera, która instancja ma się zatrzymać ... w celu manipulowania nią do moich potrzeb. – Cheetah
Czy sprawdziłeś platformę bez serwera, taką jak OpenWhisk dla swojej aplikacji? To może być lepsze dopasowanie niż Cloud Foundry. Usługi aplikacji są wykonywane tylko po otrzymaniu żądania, nie masz instancji oczekujących na wykonanie pracy. Platforma może wykonywać wiele usług równolegle w celu obsługi skalowania. Możesz wiązać swoje usługi, aby słuchać zewnętrznych strumieni zdarzeń i być wywoływane na żądanie w przypadku wystąpienia nowych zdarzeń. –