Aby zaprojektować niebiesko-zielony, należy wdrożyć sposób publikowania ruchu sieciowego z serwera na żywo do serwera wymiany

13

Wdrożenie niebiesko-zielone polega na pompowaniu przepływów danych na żywo prod (niebieski) do środowiska non-swap typu hot swap (zielony) w ramach przygotowań do wdrożenia na żywo w zielonym środowisku, tak że zielony ma pełną synchronizację danych z poprzednim środowiskiem blue prod.

Zastanawiam się, co ludzie używają, aby kopiować na bieżąco ciągły ruch z gniazda sieciowego z niebieskiego na zielony. Czy piszę własny, czy istnieje biblioteka do publikowania / subskrybowania strony internetowej, czy może inne podejście do niebieskiej zieleni?

Moja aplikacja ma serwery REST nodejs, które zarządzają także ruchem websocket z urządzeń mobilnych ... serwer mongodb itp. Każdy w kontenerach na GCE / AWS

Zdaję sobie sprawę, że mógłbym po prostu zsynchronizować mongodb z niebieskiego na zielony, ale to nie ćwiczyłoby zielonych serwerów nodejs z ruchem na żywo, co jest ładnym sprawdzeniem czystości regresji, którego szukam

Być może, jeśli po prostu przesyłam ruch HTTP do przodu, podstawowa strona działająca na HTTP będzie sama się zajmować i nie będzie wymagać konkretnej konfiguracji niebiesko-zielonej

Scott Stensland
źródło
1
Czy możesz potwierdzić, czy wdrażasz serwery DB lub HTTP?
Purefan
Powiązane pytanie i odpowiedź na SO stackoverflow.com/questions/10257770/…
Evgeny

Odpowiedzi:

5

Websockets tak naprawdę nie mają z tym żadnego do czynienia. Możesz zbudować własny system, ale generalnie pomysł na HA jest taki, że jeśli coś się stanie, skonfigurujesz klienta tak, aby automatycznie łączył się ponownie. Wystąpi niezerowe przestoje podczas zamiany niebiesko-zielonej, ale jeśli twoja aplikacja jest dobrze zbudowana, powinna już to obsłużyć.

Jeśli chcesz czegoś płynniejszego, możesz zbudować wiadomość w swoim protokole, aby połączyć się z nowym serwerem, a następnie porzucić oryginalne połączenie.

koderanger
źródło