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


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.