◦ Necesito saber cuándo hacer algo. • Data Fragment: ◦ Necesito darte una porción de datos sin la necesidad de conocer el esquema completo. • Routing: ◦ Controlar quién recibe qué mensaje, sin la necesidad de cambiar el emisor ni el receptor. • Publish: ◦ Avisar a todos los interesados que se publicó un mensaje. • Batch: ◦ Emisor y receptor pueden correr en momentos independientes. • Telemetry: ◦ Metadata de los servidores y dispositivos implicados. • Load Share: ◦ Agregar más consumidores para escalar.
un estándar abierto de protocolo de mensajería capa 7 para middlewares orientados a mensajes. Es un protocolo abierto (como TCP, HTTP, SMTP, etc.). • Las features claves de AMQP son: ◦ Orientación a mensajes ◦ Colas ◦ Routing ◦ Confiabilidad ◦ Seguridad
Uso casual / desarrollo 1 servidor, 1 usuario, 10 colas, 1 mensaje por segundo Aplicación en producción 2 servidores, 10-100 usuarios, 10-50 colas, 25 mensajes por segundo. Aplicación de misión crítica departamental 4 servidores, 100-500 usuarios, 50-100 colas, 250 mensajes por segundo. Aplicación de misión crítica regional 16 servidores, 500-2000 usuarios, 100-500 colas y tópicos, 2500 mensajes por segundo. Aplicación de misión crítica global 64 servidores, 2K-10K usuarios, 500-1000 colas y tópicos, 25000 mensajes por segundo. Market data (trading) 200 servidores, 5000 usuarios, 10K de tópicos y colas, 250K mensajes por segundo
“Publish and Suscribe”. • Usado para enviar un mismo mensaje a múltiples receptores. • Cualquier cola asociada a un fan-out exchange va a recibir cualquier mensaje recibido en el exchange. • La consumición de los mensajes de la cola va a depender del número de consumidores y de la velocidad de procesamiento de los mensajes de los consumidores.
caso de uso de Kinesis es: colectar, almacenar y procesar stream de datos (en tiempo real). ➔ Los streams de datos son datos generados continuamente por miles de fuentes de datos, que típicamente suelen enviarse simultáneamente y de poco tamaño. ➔ Casos de uso comunes: ◆ Colección de logs y datos de eventos. ◆ Análisis en real-time. ◆ Captura de datos de apps mobile. ◆ Data feed para IoT.
throughput altísimo para ingesta y procesamiento de datos. ◦ “Big Data” • Desventajas: ◦ Administración de los shards. ◦ Throughput de lectura limitada: 5 readings per second per shard. 2MB / sec. ◦ Librerías complejas para consumers y producers.
colas de mensajes facilitan el desacople y scheduling de microservicios, sistemas distribuidos y aplicaciones serverless. ➔ Usando una cola, se pueden enviar, almacenar y recibir cualquier número de mensajes entre diferentes componentes de software. ➔ Casos de uso comunes: ◆ Integración entre aplicaciones. ◆ Desacople de microservicios. ◆ Desacople de navegación de usuarios en procesos pesados. ◆ Alocar tareas en diferentes workers. ◆ Mensajes batch para procesamiento futuro.
usar ◦ Throughput de lectura. • Desventajas: ◦ Un consumidor por cola por mensaje: Esto puede ser solucionado integrando SNS. ◦ Imposibilidad de reproducir mensajes ya procesados: En estos casos se suelen usar otros data sources, como por ejemplo DynamoDB.
• Permitir que estos servicios se comuniquen con el core de naranja de manera segura: un Oracle Enterprise Service Bus comunicándose con Cobol. • Incorporar capa de mensajería asíncrona y desacople de mensajes en peticiones complejas que se comuniquen con el core y otros servicios.
mensajes y el tracking de los eventos. • De esta manera podemos: ◦ Conocer el estado actual de cada mensaje. ◦ Evitar mensajes duplicados en los consumidores. ◦ Hacer un seguimiento de los eventos. ◦ Conocer cuándo entró en la deadletter queue.