Ir al contenido principal
SAP

Resiliencia en la integración AMI–IS-U: entrega garantizada, reintentos y replay

En utilities los componentes fallan. Cómo el advanced event mesh de SAP aborda la pérdida de eventos AMI con durable queues, dead message queue, reintentos controlados y replay —y qué garantiza cada mecanismo.

AGT
Edward Camacho

· 10 min de lectura

Eventos de medición viajando por fibra óptica desde concentradores AMI hacia los racks de un data center SAP S/4HANA Utilities

En una empresa de servicios públicos, los componentes fallan: los concentradores AMI pierden conectividad, la red de comunicación se congestiona, y SAP S/4HANA Utilities (IS-U) entra en ventanas de mantenimiento. La pregunta de arquitectura no es cómo evitar esas fallas —son inevitables— sino qué le ocurre a un evento de medición cuando suceden. Si la respuesta es “se pierde en silencio” o “se reprocesa sin control”, el costo aparece después, en la factura.

La resiliencia de una integración AMI–IS-U no es un atributo abstracto: se construye con mecanismos concretos que SAP documenta. Este artículo describe qué garantiza cada uno —y qué no— para que las decisiones de diseño se tomen sobre capacidades reales, no sobre promesas.

Entrega garantizada: el evento espera, no se pierde

Arquitectura de resiliencia AMI–IS-U
Ciclo de vida de un evento de medición: del concentrador a IS-U
Origen
📡
Concentradores AMI
Generan eventos de medición con conectividad intermitente
Retención
📥
Cola durable
Retiene el mensaje hasta recibir el acknowledge del consumidor; acumula eventos mientras IS-U está desconectado
Gestión de fallos
🔁
Reintentos configurables
El broker reintenta la entrega N veces ante un rechazo (NACK)
🚨
Dead Message Queue (DMQ)
Cuarentena inspeccionable: el mensaje puede corregirse y reinyectarse; requiere que el mensaje o la cola sean DMQ-eligible
Destino
🏭
SAP S/4HANA Utilities (IS-U)
Procesamiento de negocio; requiere idempotencia aguas abajo para evitar lecturas duplicadas por reentregas
Puntos donde el evento puede perderse o bloquearse
1Descarte silencioso en DMQ
Si el mensaje no está marcado como DMQ-eligible (broker ≤ 10.25.9), un NACK tras los reintentos lo descarta sin cuarentena
2Expiración del TTL en la DMQ
Una vez vencido el Time to Live, el broker elimina el mensaje de la DMQ de forma irreversible; la DMQ es una red de seguridad con vencimiento, no un almacén indefinido
3Límite del log de replay (FIFO)
Cuando el log de replay alcanza su capacidad, descarta los mensajes más antiguos; la ventana de reproducción es acotada por almacenamiento

El primer pilar es la entrega garantizada mediante colas durables. En SAP Integration Suite, advanced event mesh, un mensaje recibido se guarda en la cola y se entrega al consumidor cuando está disponible; permanece allí hasta que el consumidor confirma (acknowledge) que lo procesó. Solo entonces se elimina de la cola (SAP Community, Advanced Event Mesh — Queue).

Las colas durables (durable queues) acumulan mensajes con independencia de que los clientes estén conectados o no. Cuando un consumidor que estuvo desconectado vuelve a línea, recibe todos los mensajes que se acumularon durante su ausencia (SAP Tutorials, Queues and subscriptions in advanced event mesh). Aplicado a utilities, esto significa que una ventana de mantenimiento de IS-U no implica pérdida de lecturas: los eventos se retienen y se entregan al reanudar el servicio.

Reintentos y Dead Message Queue: el fallo se hace visible

¿Qué ocurre con un evento que el consumidor no logra procesar? Aquí entra el segundo pilar. El broker reintenta la entrega un número configurable de veces; si sigue recibiendo un rechazo (NACK), el destino del mensaje depende de la configuración: puede moverse a una Dead Message Queue (DMQ) o descartarse. Según la documentación de SAP, el broker “almacenará el mensaje en una dead message queue O descartará el mensaje” (SAP Community, Advanced Event Mesh — Queue). En versiones 10.25.9 y anteriores del broker, el mensaje solo se enruta a la DMQ si el productor lo declara explícitamente como DMQ-eligible; de lo contrario se descarta. Este comportamiento varía en versiones posteriores. Un mensaje también puede llegar a la DMQ cuando expira su Time to Live (TTL) o cuando se supera el número máximo de intentos de entrega.

La DMQ es el mecanismo que convierte un error silencioso en uno gobernable: los mensajes en cuarentena pueden inspeccionarse, corregirse en su payload y reinyectarse para reintentar la entrega al consumidor original. Su comportamiento es configurable —depende del TTL, del máximo de reintentos y de que el mensaje o la cola estén habilitados como elegibles para la DMQ—; no es un destino automático. Una contrapartida a tener presente: una vez que expira el TTL de los mensajes en la DMQ, el broker los elimina de forma irreversible —es decir, la DMQ es una red de seguridad con vencimiento, no un almacén indefinido—.

Sobre los reintentos pesa una advertencia documentada por la propia comunidad SAP: configurarlos sin criterio puede convertirse en una “trampa”, reprocesando indefinidamente mensajes que nunca tendrán éxito y amplificando la carga (SAP Community, Event Mesh + AMQP: The Retry Trap). El reintento es útil acotado por un máximo y respaldado por la DMQ, no como bucle infinito.

Replay: recuperación y auditoría sobre eventos pasados

Los tres pilares de resiliencia en SAP Integration Suite, advanced event mesh
Qué garantiza cada mecanismo —y cuál es su límite
📥
Entrega garantizada mediante colas durables
El mensaje se retiene en la cola durable hasta que el consumidor confirma su procesamiento (acknowledge). Una ventana de mantenimiento de IS-U no implica pérdida de lecturas: los eventos se acumulan y se entregan al reanudar el servicio.
Pilar 1
🚨
Reintentos y Dead Message Queue
Ante un rechazo (NACK), el broker reintenta N veces (configurable). Si persiste el fallo, el mensaje puede moverse a la DMQ o descartarse —según TTL, máximo de reintentos y elegibilidad configurada—. Convierte el error silencioso en uno gobernable, pero la DMQ no es un destino automático.
Pilar 2
Replay: ventana de reproducción histórica
Permite reproducir un flujo de eventos pasados hacia un consumidor —para recuperar un sistema caído más allá de la retención de su cola o para auditar una secuencia M2C—. Su límite: cuando el log alcanza su capacidad, descarta mensajes por FIFO. Es una ventana acotada por almacenamiento, no memoria infinita.
Pilar 3

El tercer pilar es el replay. La función de replay registra los mensajes recibidos y permite reproducir un flujo de eventos histórico hacia un consumidor —por ejemplo, para recuperar un sistema que estuvo caído más allá de la retención de su cola, o para auditar una secuencia M2C—. Su límite es explícito: cuando el log de replay alcanza su capacidad de almacenamiento, comienza a descartar mensajes siguiendo el principio FIFO (SAP Community, Advanced Event Mesh — Replay). El replay, por tanto, ofrece una ventana de reproducción acotada por almacenamiento, no memoria infinita.

Una distinción de producto que cambia el diseño

Conviene no confundir los dos productos de mensajería de SAP: SAP Event Mesh (mensajería nativa de SAP BTP) y SAP Integration Suite, advanced event mesh (la oferta basada en tecnología Solace). Ambos ofrecen colas, pero difieren de forma significativa en sus garantías y características operativas: las capacidades concretas descritas aquí —replay, colas particionadas para orden y la gestión de Dead Message Queue del broker Solace— corresponden al advanced event mesh. SAP Event Mesh clásico presenta capacidades de DMQ más limitadas y, según fuentes especializadas, no soporta replay de eventos (SAP Community, Seamlessly expand from Event Mesh to Advanced Event Mesh). La recomendación de diseño no es que un producto “tenga colas y el otro no”, sino no asumir que ambos son intercambiables: conviene verificar contra la documentación qué garantiza exactamente el producto elegido antes de apoyar una arquitectura crítica en él.

Qué garantiza la resiliencia —y qué exige

Creencias frecuentes en proyectos AMI–IS-U
Mitos y realidades sobre la resiliencia en advanced event mesh
Cada mecanismo garantiza algo concreto —y deja fuera de su alcance algo igualmente concreto
Creencia habitual
Lo que documenta SAP
"Entrega garantizada" significa que el evento llega exactamente una vez.
Significa que el evento no se pierde mientras el consumidor no está disponible. La entrega confiable puede producir reentregas; evitar duplicados exige una capa de idempotencia aguas abajo, que es un problema complementario y separado.
La Dead Message Queue es un destino automático para cualquier mensaje fallido.
La DMQ es configurable, no automática. El mensaje debe ser declarado DMQ-eligible (en broker ≤ 10.25.9 esto recae en el productor); de lo contrario, el mensaje se descarta. Además, los mensajes en la DMQ se eliminan de forma irreversible al expirar su TTL.
Configurar reintentos protege la integración ante cualquier error transitorio.
Reintentos sin criterio pueden convertirse en una "trampa": reprocesar indefinidamente mensajes que nunca tendrán éxito amplifica la carga. Son útiles acotados por un máximo y respaldados por la DMQ, no como bucle infinito.
SAP Event Mesh y SAP Integration Suite, advanced event mesh son intercambiables: ambos tienen colas.
Difieren de forma significativa en garantías operativas. Las capacidades descritas en este artículo —replay, gestión de DMQ del broker Solace— corresponden al advanced event mesh. SAP Event Mesh clásico presenta capacidades de DMQ más limitadas y no soporta replay de eventos.
Estos mecanismos son capacidades configurables, no garantías automáticas. La resiliencia efectiva se decide en su configuración y se valida con pruebas de falla.

“Entrega garantizada” significa que el evento no se pierde mientras el consumidor no esté disponible; no significa “exactamente una vez”. La entrega confiable puede producir reentregas, y evitar que esas reentregas se conviertan en lecturas duplicadas exige una capa de idempotencia aguas abajo —el control determinista que descarta el procesamiento repetido de un mismo evento—. Resiliencia y unicidad son problemas complementarios: el primero asegura que el dato llegue; el segundo, que llegue una sola vez.

Igualmente, estos mecanismos son capacidades configurables, no garantías automáticas. La continuidad operativa real depende de dimensionar correctamente el TTL, el máximo de reintentos, la retención de las colas y la capacidad del log de replay según el volumen de medidores y el comportamiento de la red AMI. La arquitectura provee las herramientas; la resiliencia efectiva se decide en su configuración y se valida con pruebas de falla, no con cifras genéricas.

Sala de control de una empresa de servicios públicos con operadores monitoreando datos de red eléctrica y lecturas AMI en tiempo real

Fuentes

Conversemos 30 minutos

¿Este análisis mapea un mercado donde ya operas o estás evaluando entrar?

Revisamos tu caso específico, mapeamos los riesgos que aplican, y te decimos honestamente si es oportunidad para ti —sin pitch comercial, solo discusión técnica y estratégica.

Al enviar aceptas ser contactado por AGT Consultoría para el assessment solicitado. Tus datos no serán compartidos con terceros ni usados para publicidad.

Edward Camacho · AGT Consultoría
#sap-isu #advanced-event-mesh #ami #resiliencia #dead-message-queue #replay