performance - prime - ¿Empujar o tirar para un servidor de automatización casi en tiempo real?
cisco prime (3)
Actualmente estamos desarrollando un servidor mediante el cual un cliente solicita interés en los cambios a elementos de datos específicos y cuando esos datos cambian, el servidor devuelve los datos al cliente. Existe un vigoroso debate en el trabajo sobre si sería o no mejor para el cliente realizar una encuesta para obtener estos datos.
¿Cuál es considerado como el método ideal, en términos de rendimiento, escalabilidad y carga de la red, de la transferencia de datos en un entorno de tiempo casi real?
Actualización: Aquí hay un enlace que brinda algo de reflexión con respecto a las actualizaciones de la interfaz de usuario.
¿Qué tienes del lado del cliente? Muchos firewalls permiten solicitudes salientes pero bloquean solicitudes entrantes. En otras palabras, tirar puede ser su única opción si cruza Internet a menos que esté enviando correos electrónicos.
Probablemente no exista un método ideal para cada situación, pero el empuje suele ser mejor y se usa con más frecuencia. Permite optimizar el almacenamiento en caché y las transferencias de datos del servidor, lo que ayuda al rendimiento y la escalabilidad, y reduce el tráfico de red al evitar las solicitudes de los clientes y las respuestas vacías. Puede ser una ventaja importante para un servidor operar a su propio ritmo y proporcionar datos a los clientes cuando esté listo.
Los estándares de la industria, como OPC, GID, son compatibles con ambos. El servidor envía actualizaciones a los clientes suscritos, pero el cliente puede extraer algunos datos raramente utilizados sin molestarse con la suscripción.
Siempre que el cliente inicie la conexión (para pasar el firewall y los problemas de NAT) de cualquier manera está bien.
Si hay varios tipos diferentes de datos que debe enviar, es posible que desee que el cliente especifique qué tipo quiere, pero esto solo es necesario una vez por conexión. Luego puede hacer que el servidor continúe enviando actualizaciones tal como las tiene.
Sería menos tráfico de red para que el servidor envíe actualizaciones sin que el cliente solicite continuamente actualizaciones.