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

Una URL en la que recibe los datos del bus de datos. El bus de datos de VMware Aria Operations for Networks envía todos los mensajes de un grupo de mensajes a la URL del suscriptor. También puede utilizar una URL de suscriptor para registrar la suscripción de varios grupos de mensajes.
Nota: El bus de datos comienza la fecha de transmisión desde el momento en que se suscribe a cualquier grupo de mensajes y continuará hasta que se cancele la suscripción. El sistema controla cualquier pérdida temporal de comunicación a través de mecanismos incorporados y la transmisión de datos se reanuda una vez que se resuelve el problema. No es necesario que realice ninguna acción.

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

El bus de datos de VMware Aria Operations for Networks es compatible inherentemente con la creación de lotes, donde varios mensajes se agrupan en un lote y se envían al suscriptor. De forma predeterminada, el tamaño máximo de un lote es de dos megabytes. Cuando el tamaño de un único mensaje es superior a dos megabytes, el mensaje se recorta.
Nota: La creación del lote crea un retraso adicional que es inferior a un minuto.

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.