Superficie de eventos actual: Kafka
Habilita la publicación en cada servicio productor:
STREAMING_CLOUDEVENTS_SOURCE cuando habilites el streaming. Usa ledger para el binario de ledger, CRM y Fees. Usa tracer para Tracer. Cada servicio rechaza cualquier otro valor al iniciar.
Midaz usa un tema de hechos de aplicación v3 por cada servicio productor:
- Ledger, CRM y Fees:
lerian.streaming.ledger - Tracer:
lerian.streaming.tracer
organization.createdviaja porlerian.streaming.ledgertransaction.postedviaja porlerian.streaming.ledgerfee_charge.appliedviaja porlerian.streaming.ledgerrule.createdviaja porlerian.streaming.tracer
studio.lerian.<source>.<resource>.<event>. Los encabezados ce-resourcetype y ce-eventtype llevan la clave de despacho por separado. El encabezado ce-tenantid está siempre presente en Midaz. Lleva el ID de tenant resuelto en el ámbito multi-tenant, y el literal default en el ámbito de un solo tenant o sin tenant. El esquema del payload es 1.0.0 para el catálogo actual.
El ledger y Tracer exponen cada uno su catálogo público de eventos de negocio en JSON y el mapeo de temas en:
Semántica de entrega
Midaz publica estos eventos de negocio directamente después del cambio de estado. No los persiste en un outbox de streaming. Midaz registra los fallos de publicación y no los devuelve al comando de negocio. Los consumidores deben ser idempotentes y deduplicar por(ce-source, ce-id) porque la entrega del broker puede repetir un registro publicado. Los valores monetarios usan cadenas decimales. Nunca los interpretes como punto flotante binario.
Lista de verificación del consumidor
- Lee el manifiesto del productor.
- Suscríbete al tema de aplicación del productor.
- Enruta según
ce-resourcetypeyce-eventtype, no según la forma del payload. - Valida
ce-schemaversionantes de decodificar. - Persiste tu clave de deduplicación antes de confirmar el registro.
Superficie heredada de RabbitMQ
Midaz también mantiene exchanges heredados de RabbitMQ para eventos seleccionados de sobregiro y auditoría. Esto no es el catálogo completo de lib-streaming. La configuración de ejemplo incluida distribuye estos exchanges salientes deshabilitados. Si los habilitas, tú eres responsable de los bindings de colas,
ack/nack, dead-lettering, reintentos y aislamiento de consumidores. El pipeline interno asíncrono de operaciones de saldo de transacciones controlado por RABBITMQ_TRANSACTION_ASYNC no es un feed de eventos público.
Usa la superficie de Kafka para las integraciones nuevas, a menos que dependas explícitamente de un contrato heredado de RabbitMQ.
Compatibilidad con Streaming Hub
Streaming Hub sigue los temas de aplicación v3 de Midaz
lerian.streaming.ledger y lerian.streaming.tracer. Por eso, una suscripción puede recibir hechos de Midaz cuando habilitas el productor, la ingesta del hub y el runtime de destino. Haz coincidir según la clave de evento de ce-resourcetype y ce-eventtype. No esperes un tema de Kafka por evento.

