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
fonte
Respostas:
Com um código de servidor minimamente projetado (um aplicativo Google AppEngine no exemplo), é possível duplicar e encaminhar o tráfego HTTP de entrada recebido por um servidor de produção para um servidor de teste (ou vice-versa) com o objetivo de comparar suas respostas. Consulte /programming/38799566/can-i-asynchronously-duplicate-a-webapp2-requesthandler-request-to-a-different-u .
fonte
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.
fonte