El bus de datos proporciona diferentes capacidades. Comprenderlas le ayudará a utilizar el bus de datos de forma más eficiente.
Suscriptor
Un suscriptor es un endpoint que se registra con el bus de datos para recibir los datos del grupo de mensajes. No puede haber más de un suscriptor con el mismo grupo de mensajes y la misma URL de suscriptor.
URL de suscriptor
Orden de los mensajes
Por lo general, los mensajes enviados a través del bus de datos se ordenan según las marcas de tiempo del momento en que el evento o el objeto se almacenaron en VMware Aria Operations for Networks. Sin embargo, en ciertos escenarios estas garantías de ordenación no pueden cumplirse. Para ordenar los mensajes de manera fiable, los suscriptores deben utilizar el campo de marca de tiempo en los mensajes de Databus y secuenciar el mensaje en función de la marca de tiempo.
Transmisión casi en tiempo real
En el bus de datos, se produce un retraso entre el procesamiento de los datos en VMware Aria Operations for Networks y la transmisión de los datos por parte del bus de datos. El retraso puede oscilar entre tres segundos y un minuto. Este retraso varía en función de los grupos de mensajes y está sujeto a que la canalización esté despejada
Equilibrador de carga para escalar el procesamiento de datos
Al recibir datos del bus de datos de VMware Aria Operations for Networks, puede utilizar un equilibrador de carga para escalar horizontalmente el servicio de procesamiento de datos. Para usar un equilibrador de carga, debe utilizar la URL del equilibrador de carga como URL del suscriptor durante el proceso de registro en el bus de datos. Un equilibrador de carga puede distribuir los datos a los servicios de procesamiento de datos con escalabilidad horizontal.
Latido
Para ayudar a solucionar problemas del canal de comunicación entre el bus de datos de VMware Aria Operations for Networks y el endpoint del suscriptor, VMware Aria Operations for Networks envía mensajes de latido cada hora a todos los suscriptores. Si una URL se especifica en más de una suscripción, el suscriptor recibe un mensaje de latido por cada suscripción.
Ejemplo:
{ "id": "c2214eea-68a6-4e5a-9e4b-ff5886a42cd3", "type": "HEARTBEAT", "specversion": "1.0", "source": "CL58EgdESzVDSEE1", "message_group": "vms", "status": "HEARTBEAT", "timestamp": 1681897371522 }
Procesamiento de mensajes por lotes
Ejemplo de un mensaje recortado:
[ { "id": "elfcdccb-c06a-419b-90bd-7618e8453f87", "type": "Application", "specversion": "1.0", "source": "CNaBARIHRElXRlgxRg==", "message_group": "applications", "status": "UPDATE_TRIMMED", "data": { "entity_id": "16598:561:716945762559381432", "entity_type": "Application", "name": "My-3Tier-App" } ]
Garantía de entrega
Se considera que un mensaje se entrega correctamente si el suscriptor responde con un código HTTP distinto del código de error 503.
Si un suscriptor no recibe un mensaje, pero VMware Aria Operations for Networks no obtiene el código de error 503, VMware Aria Operations for Networks considera que el mensaje se ha entregado y no intenta enviarlo de nuevo, y es posible que el mensaje se pierda. Hemos introducido este mecanismo para garantizar que el sistema no se vea sobrecargado por los reintentos continuos. Por ejemplo, si el entorno de producción está inactivo, los reintentos continuos podrían causar mucho ruido. En este caso, el envío de una respuesta HTTP que no sea 503 es una forma de indicar que no desea volver a intentarlo.
En VMware Aria Operations for Networks, los mensajes proceden de diferentes servicios y, a continuación, se agregan a una cola basada en disco. La cola basada en disco caduca en dos horas.
Si un mensaje no se entrega al suscriptor en dos horas, dichos mensajes se eliminarán de la cola de forma FIFO y no se entregarán al suscriptor. Además, si el volumen de los mensajes en VMware Aria Operations for Networks está más allá de lo que el sistema puede reenviar de manera confiable, es posible que los mensajes se descarten. Cuando no se puede contactar con el suscriptor del bus de datos, el sistema intenta enviar los mensajes hasta que tiene éxito. En la versión 6.9 se ha agregado un mecanismo de retroceso, que hace que el sistema reintente la entrega de los mensajes en un tiempo exponencial.
Filtrado
Al registrar un suscriptor, este recibe todos los mensajes de ese grupo de mensajes. No se admite el filtrado de mensajes en el bus de datos de VMware Aria Operations for Networks. Si no quiere todos los mensajes de un grupo de mensajes, puedes descartarlos en función de las condiciones del filtro antes de seguir procesándolos. También puede desactivar las alertas desde la interfaz de usuario de VMware Aria Operations for Networks.
Correlacionar mensajes con otros objetos
En ciertos casos, los mensajes recibidos por el bus de datos contienen información contextual sobre algunas entidades relacionadas sin los detalles completos de dichas entidades. Sin embargo, el mensaje contiene un identificador específico, como un entity_id. Para obtener detalles sobre esas entidades relacionadas, debe suscribirse a dichas entidades mediante las API. Por ejemplo, suscribirse al grupo de mensajes Hosts puede ayudar a correlacionar los hosts de los eventos recibidos del grupo de mensajes Problemas.