Integración de RabbitMQ
GpsGate se integra con RabbitMQ. Esto te permite reenviar los datos de seguimiento de los rastreadores y eventos en vivo a una instalación de RabbitMQ y consumirlos como desees.
RabbitMQ es un software de intermediación de mensajes de código abierto que originalmente implementó el Protocolo Avanzado de Encolado de Mensajes y desde entonces se ha ampliado con una arquitectura de complementos para admitir el Protocolo de Mensajería Orientada a Texto en Streaming, Transporte de Telemetría MQ y otros protocolos.
Configuración
1. Inicia sesión en Administración del sitio (legacy) y navega a Plugins.
2. Haz clic en Obtener más plugins e instala RabbitMQ
3. Navega ahora a Integraciones, selecciona RabbitMQ y haz clic en Agregar.
Este es un ejemplo de cómo completar este formulario:
4. Completa todos los campos y guarda la configuración.
5. Haz clic en Probar para verificar si tu configuración es correcta, deberías ver este mensaje si todo es correcto:
6. Una vez guardado y probado, navega a Administrar aplicaciones.
7. Habilita RabbitMQ, así como la configuración que has creado.
8. Haz clic en Guardar.
Mensajes de seguimiento
- Inicia sesión en la aplicación móvil del Rastreador de Activos en la que has habilitado RabbitMQ.
- Haz clic en Menú principal > Admin > Roles. Se abrirá la ventana de Roles.
- Haz clic en Crear copia de un rol ya existente y dale un nuevo nombre, como RabbitMQ.
- Selecciona todos los usuarios para los que deseas habilitar el reenvío de datos de seguimiento a tu instalación de RabbitMQ.
- Habilita el privilegio _RabbitMQ y la configuración creada en Administración del sitio (legacy), en este caso 'RabbitMQ Server 1'.
- Haz clic en Guardar.
Mensaje de evento
- Inicie sesión en la aplicación Rastreador de Activos en la que ha habilitado RabbitMQ.
- Haga clic en Menú Principal > Admin > Regla de Evento. Se abrirá la ventana de la lista de Reglas de Evento.
- Cree una nueva Regla de Evento o modifique una existente. Acerca de las Reglas de Evento.
- En la sección Notificador, agregue un nuevo Notificador de tipo RabbitMQ
- Seleccione la configuración de RabbitMQ a la que desea enviar los mensajes de Evento
- Opcionalmente agregue un Valor. Esto puede ser algún texto y/o diferentes valores de señal seleccionados del menú desplegable
- Seleccione cuándo Notificar: Inicio, Fin, Inicio y Fin, o Siempre
- Guarde la Regla de Evento
Tipo de Datos
Hay 2 tipos de datos compatibles:
- Rastreos: Datos de rastreo de Activos que incluyen la posición actual y todas las señales del activo (incluyendo script de campo y acumuladores)
- Eventos: Eventos en vivo usando un Notificador RabbitMQ de Regla de Evento
Tipo de Serializador
Soportamos dos tipos de serialización: JSON y Protobuf. Se recomienda Protobuf ya que sus datos son mucho más pequeños, lo que hará que los datos se transmitan más rápido.
Definición JSON para mensajes de Rastreo:
|
Definición de Protobuf para mensajes de seguimiento:
|
|
Definición de Json para mensajes de eventos:
|
|
Definición de Protobuf para mensajes de Evento:
|
Independientemente de la serialización, UTC es la marca de tiempo de la pista en milisegundos desde el Unix Epoch y la Velocidad está en m/s.
Detalles técnicos
El RabbitMQ está configurado para pasar por un RabbitMQ Exchange de tipo topic. Lea más aquí: RabbitMQ topic exchange. Esto le permite crear múltiples colas que serán enrutadas usando la Clave de Intercambio.
El plugin de RabbitMQ utiliza el protocolo AMQP y actúa como un cliente de RabbitMQ.
Clave de Enrutamiento
La Clave de Enrutamiento es una tabla de plantillas, lo que significa que puede usar varios datos específicos del usuario para componer la Clave de Enrutamiento. Actualmente, soportamos tres plantillas:
- username - el nombre de usuario del Usuario
- name - el nombre del Usuario
- imei - el IMEI del rastreador que reporta
Aquí hay algunos ejemplos de cómo usarlo:
- Tracks.[imei]
- User.[username]
- [imei]