sql >> Base de Datos >  >> NoSQL >> MongoDB

Ejecución de meteoritos en un clúster y cambios en tiempo real

Hay dos problemas principales a considerar cuando se ejecutan múltiples procesos de servidor Meteor.

  1. Afinidad de sesión de cliente. Los clientes usan la biblioteca SockJS para volver a conectarse al servidor Meteor, generalmente mediante una estrategia de sondeo largo que se vuelve a conectar al servidor de vez en cuando. El proceso del servidor mantiene el estado asociado con cada cliente. Por lo tanto, es importante que la conexión de un cliente dado no rebote entre servidores, o el servidor pensará que está hablando con un nuevo cliente y reenviará todo el estado de la suscripción.

  2. Coordinación de invalidaciones de bases de datos. Cada vez que un cliente emite una escritura en la base de datos, el proceso del servidor ejecuta un recálculo y envía actualizaciones a cualquier otro cliente afectado. Pero los clientes conectados a un servidor diferente no verán el cambio hasta que el proceso del servidor ejecute el bucle de sondeo Mongo de 10 segundos. Para algunas aplicaciones, está bien que la mayoría de los clientes se retrasen 10 segundos. Si su aplicación requiere algo más en tiempo real, entonces tendrá que implementar su propia comunicación entre procesos entre los procesos del servidor Meteor.