¿Desea que el proceso sea impulsado por el cliente o por el servidor? En otras palabras, ¿desea enviar datos nuevos a los clientes tan pronto como estén disponibles, o preferiría que los clientes soliciten nuevos datos siempre que lo consideren oportuno, incluso si eso no fuera una vez por segundo? ¿Cuál es la probabilidad de que el cliente pueda quedarse esperando una respuesta? Aunque espera que los eventos ocurran una vez por segundo, ¿cuánto tiempo transcurre entre una solicitud de un cliente y la devolución del servidor? Si es más de un segundo, espero que te inclines por llevar los eventos a los clientes, aunque al revés, esperaría que las encuestas estén bien. Si la respuesta lleva más tiempo que el intervalo, esencialmente estás transmitiendo de todos modos, ya que hay un nuevo evento listo para cuando el cliente recibe el último, por lo que el cliente podría sondear continuamente y recibir siempre eventos, en este caso, transmisión los datos en realidad serían más livianos, ya que está eliminando la sobrecarga de conexión/negociación del proceso.
Sospecho que la carga del servidor es mayor para una suscripción basada en el cliente (extracción), en lugar de una configuración de transmisión, ya que el cliente tendría que volver a negociar la conexión cada vez, en lugar de dejar una conexión abierta. pero cada conexión abierta en un modelo de transmisión también requeriría recursos del servidor. Depende de cuál sea el equilibrio entre cuán agresivo es su proceso de negociación y cuánta memoria/procesamiento se requiere para cada conexión abierta. Aunque no soy un experto, entonces puede haber otros factores.
ACTUALIZACIÓN: This guy habla de las ventajas y desventajas entre la larga encuesta y la transmisión, y parece decir que con HTTP/1.1, el proceso de renegociación de conexión es trivial, por lo que no es un problema.
Oye, rwmnau, el enlace que proporcionaste es esclarecedor. Para responder a sus preguntas, quisiera enviar datos a los usuarios tan pronto como estén disponibles. – jcee14
Si desea enviar datos a los usuarios tan pronto como sea posible, entonces creo que la opción debe ser la transmisión, ya que mantendrá una conexión basada en la inserción. Con una configuración de extracción, esperas que los clientes pregunten, pero con push, tendrán los datos tan pronto como se los entregues. ¡Déjame saber qué terminas eligiendo y por qué! – SqlRyan