Integración con RabbitMQ
GpsGate se integra con RabbitMQ. Esto te permite enviar 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. Ahora navega a Integraciones, selecciona RabbitMQ y haz clic en Agregar.
Este es un ejemplo de cómo completar este formulario. Es necesario configurar manualmente la cola y la clave de enrutamiento en RabbitMQ.
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 está 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 enví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
- Inicia sesión en la aplicación del Rastreador de Activos en la que has habilitado RabbitMQ.
- Haz clic en Menú Principal > Admin > Regla de Evento. Se abrirá la ventana de lista de Reglas de Evento.
- Crea una nueva Regla de Evento o modifica una existente. Acerca de las Reglas de Evento.
- En la sección de Notificadores, agrega un nuevo Notificador de tipo RabbitMQ
- Selecciona la configuración de RabbitMQ a la que deseas enviar los mensajes de Evento
- Opcionalmente, agrega un Valor. Esto puede ser algún texto y/o diferentes valores de señal seleccionados del menú desplegable
- Selecciona cuándo Notificar: Inicio, Fin, Inicio y Fin, o Siempre
- Guarda la Regla de Evento
Tipo de Datos
Hay 2 tipos de datos soportados:
- Seguimientos: Datos de seguimiento 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 de Regla de Evento RabbitMQ
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 envíen más rápido.
Definición JSON para mensajes de Seguimiento:
|
Definición de Protobuf para mensajes de Track:
|
|
Definición Json para mensajes de Evento:
|
|
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
RabbitMQ está configurado para pasar por un RabbitMQ Exchange de tipo topic. Lee más aquí: Intercambio de temas de RabbitMQ. Esto te 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 puedes 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í tienes algunos ejemplos de cómo usarlo:
- Tracks.[imei]
- User.[username]
- [imei]