Pregunta

Deseo desarrollar un marco de trabajo en clúster multiservidor que funcione de manera similar a los pasos a continuación para el flujo de mensajes.

Del cliente

  • El servidor de puerta de enlace recibe el mensaje
  • Gateway Server envía un mensaje ACK (UDP)
  • El mensaje se deserializa de forma personalizada desde binario a un objeto a través de una fábrica
  • El mensaje se enruta a un servidor secundario en el clúster (basado en la configuración) y envía el objeto al servidor secundario a través de WCF
  • El mensaje se maneja en el servidor secundario.

Del servidor

  • El servidor secundario crea un mensaje y lo envía al servidor de puerta de enlace
  • El servidor de puerta de enlace binario serializa el mensaje
  • El servidor de puerta de enlace envía el binario al cliente y espera un mensaje ACK (UDP)

Los servidores se configurarán mediante archivos .config para apuntar a los servicios, ya sea localmente en la misma aplicación (se inicializará el WCF) u otros sistemas.

¿Alguien ha trabajado para crear algún tipo de arquitectura como esta, y si es así, ¿cuáles son algunos de los problemas con los que se ha encontrado?


EDITAR
El sistema va a ser el lado del servidor de un protocolo ya existente, por lo que cualquiera de los protocolos de cliente a servidor es esencialmente intocable, pero incluye administración de estado (el cliente envía sesión con cada llamada), cifrado, enrutamiento del servidor y protección de paquetes.


Editar
¿Alguien puede incluso proporcionar un enlace a un proyecto de código abierto que use clustering en .Net?

¿Fue útil?

Solución

  

Editar ¿Alguien puede incluso proporcionar un enlace?   a un proyecto de código abierto que usa   agrupación en .Net?

Marque esta aplicación de muestra . Según el sitio ...

  

Tecnologías demostradas   Diseño orientado a servicios, n-tier con   ASP.NET y WCF

     
      
  • Separación limpia de UI, servicios empresariales y acceso a bases de datos
  •   
  • Diseño y ajuste para el rendimiento
  •   
  • Escalable horizontalmente mediante agrupación dinámica
  •   
  • Gestión de configuración centralizada de nodos de servicio en clúster
  •   

Otros consejos

Mantener el estado de la sesión en las transacciones de larga duración puede convertirse en un obstáculo importante. Deberá asegurarse de que su solución de equilibrio de carga pueda considerar o acomodar una sesión que comienza en un servidor y se completa en otro. Esto se puede lograr compartiendo el estado a través de una fuente externa, como una cookie en el navegador / cliente o una entrada en un servidor de base de datos común. Alternativamente, muchas de las soluciones de equilibrio de carga de hardware utilizarán "sesiones fijas". para garantizar que el cliente siempre regrese al mismo servidor (según la dirección IP, por ejemplo)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top