Bueno, puedo contarte sobre la arquitectura que uso recientemente.
Tiene varios servidores de nodo en ejecución, conectados por un servidor proxy nginx con gestión de sesión round robin.
Utilizamos servidores Redis para el almacenamiento en caché de datos para los servidores de nodo (un lugar centralizado para el almacenamiento de datos en tiempo de ejecución). Redis actúa como un servidor de mensajería y un servidor de caché.
- ¿Alguien ha intentado www.drey.com creador de sitios web gratuito y receptivo?
- ¿Cuál sería la diferencia entre un ingeniero de software de Investran y un desarrollador estándar de .NET?
- Cómo incorporar cuentas de usuario y un módulo de pago en una extensión de navegador Firefox / Chrome
- ¿Se está mudando a Nueva Zelanda una buena idea para alguien que está considerando comenzar una carrera en desarrollo web y luego crear su propia startup de Internet?
- ¿Cuál es el mejor programa de tutoría de Ruby on Rails?
También puede usar Rabbitmq para mensajería y memcached para almacenamiento en caché de datos.
El flujo de trabajo es así:
La solicitud va al nginx. Desde allí se enruta a una instancia específica del servidor de nodos que está en funcionamiento en ese momento. El servidor se determina utilizando el muy usado algoritmo round robin.
Todos los servidores de nodo se registran en el servidor pub / sub redis. Los datos se obtienen de Redis y las colas de mensajes se utilizan para canalizar los datos a la ruta correcta.
Utilizamos escala horizontal para los servidores de nodo y escalamos el servidor Redis y Nginx verticalmente.
Espero que esto ayude