Chcę wiedzieć o możliwych opcjach automatycznego skalowania mojej architektury aplikacji internetowych. To, co mam w architekcie, to aplikacja internetowa (Tomcat), oprogramowanie pośrednie (RabbitMQ), baza danych (MongoDB), pracownik (samodzielna aplikacja Java). W tej chwili próbuję skalować w oparciu o wykorzystanie procesora. Mogę automatycznie skalować moją aplikację internetową i pracownika zgodnie z oczekiwaniami, ale mam problemy ze skalowaniem rabbitmq, ponieważ nie wiem, jak przekazać ładunek do nowo utworzonego serwera rabbtimq.
Na przykład mam uruchomione 2 serwery Tomcat. Ilekroć wykorzystanie procesora przez moją instancję RabbitMQ jest większe niż 80%, AWS doda nowy serwer RabbitMQ. Ale moje serwery Tomcat nie wiedzą, że dodano nową instancję RabbitMQ, więc nadal odnoszą się tylko do oryginalnego serwera RabbitMQ, a nie do nowo utworzonego.
Co mógłbym zrobić? Czy powinienem automatycznie skalować całą architekturę, gdy wzrasta wykorzystanie procesora Rabbit? Czy też powinienem porzucić ideę automatycznego skalowania RabbitMQ i utworzyć wymagane instancje na początkowym etapie wdrażania? Czy są inne opcje?
źródło