Para diseñar un despliegue verde azul, cómo publicar el tráfico websocket desde el servidor en vivo hasta el de intercambio en caliente


13

Un despliegue verde azul implica bombear flujos de datos de producción en vivo (azul) en un entorno sin producción de intercambio en caliente (verde) en preparación para implementar para vivir el entorno verde, de modo que el verde tenga una sincronización completa de datos con el entorno azul de producción anterior.

Me pregunto qué usa la gente para copiar en vivo el tráfico continuo de WebSocket de azul a verde. ¿Escribo el mío o hay una biblioteca de WebSocket de publicación / suscripción o posiblemente un enfoque diferente para el verde azul?

Mi aplicación tiene servidores REST de nodejs que también gestionan el tráfico websocket desde dispositivos móviles ... un servidor mongodb, etc. cada uno en contenedores en GCE / AWS

Me doy cuenta de que podría mantener el mongodb sincronizado de azul a verde, sin embargo, eso no ejercitaría los servidores verdes de nodejs con tráfico en vivo, lo cual es un buen control de cordura de regresión que estoy buscando

Posiblemente si solo vivo hacia adelante el tráfico HTTP, el WebSocket subyacente que se ejecuta sobre HTTP solo se ocupará de sí mismo y no exigirá una configuración verde azul específica


1
¿Puede confirmar si está implementando servidores DB o servidores HTTP?
Purefan

Preguntas y respuestas relacionadas en SO stackoverflow.com/questions/10257770/…
Evgeny

Respuestas:



5

Websockets realmente no tiene ningún manejo para esto per se. Puede construir su propio sistema, pero en general la idea de HA es que, si sucede algo, configurará al cliente para que se vuelva a conectar automáticamente. Habrá un tiempo de inactividad distinto de cero durante un intercambio azul-verde, pero si su aplicación está bien construida, ya debería manejarlo.

Si desea algo más sencillo, puede crear un mensaje en su protocolo para conectarse a un nuevo servidor y luego desconectar la conexión original.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.