Para projetar uma implantação verde azulada como publicar o tráfego do soquete da web do servidor ativo para o hot swap


13

Uma implantação em verde azul envolve bombear fluxos de dados de produtos ativos (azul) em um ambiente não produtivo de troca a quente (verde) em preparação para implantar no ambiente verde, de modo que o verde tenha sincronização completa de dados com o ambiente azul de produtos anterior.

Eu estou querendo saber o que as pessoas estão usando para copiar ao vivo o tráfego contínuo do websocket do azul para o verde. Eu escrevo o meu ou existe uma biblioteca de publicação / assinatura do websocket ou, possivelmente, uma abordagem diferente para o verde azul?

Meu aplicativo tem servidores REST nodejs, que também gerenciam o tráfego do soquete da Web de dispositivos móveis ... um servidor mongodb, etc. ... cada um em contêineres no GCE / AWS

Sei que poderia manter o mongodb sincronizado de azul para verde, mas isso não exercitaria os servidores nodejs verdes com tráfego ao vivo, o que é uma boa verificação de sanidade de regressão que estou procurando

Possivelmente, se eu apenas avançar o tráfego HTTP, o soquete da Web subjacente, executado no topo do HTTP, cuidará de si mesmo e não exigirá uma configuração verde azul específica


1
Você pode confirmar se está implantando servidores de banco de dados ou servidores HTTP?
Purefan

Pergunta relacionada e resposta em SO stackoverflow.com/questions/10257770/…
Evgeny

Respostas:



5

Websockets realmente não têm nenhum tratamento para isso em si. Você pode criar seu próprio sistema, mas geralmente a idéia para HA é que, se algo acontecer, você configurará o cliente para se reconectar automaticamente. Haverá algum tempo de inatividade diferente de zero durante uma troca azul-verde, mas se o seu aplicativo for bem construído, ele já deve lidar com isso.

Se você quiser algo mais tranquilo, poderá criar uma mensagem no seu protocolo para conectar-se a um novo servidor e, em seguida, descartar a conexão original.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.