Superfície atual de eventos — Kafka
Habilite a publicação em cada serviço produtor:
STREAMING_CLOUDEVENTS_SOURCE é obrigatório quando o streaming está habilitado. Use ledger para o binário do ledger, CRM e Fees, e tracer para o Tracer; cada serviço rejeita qualquer outro valor na inicialização.
O Midaz usa um tópico de fatos por aplicação v3 para cada serviço produtor:
- Ledger, CRM e Fees:
lerian.streaming.ledger - Tracer:
lerian.streaming.tracer
organization.createdtrafega emlerian.streaming.ledgertransaction.postedtrafega emlerian.streaming.ledgerfee_charge.appliedtrafega emlerian.streaming.ledgerrule.createdtrafega emlerian.streaming.tracer
studio.lerian.<source>.<resource>.<event>. ce-resourcetype e ce-eventtype carregam a chave de dispatch em cabeçalhos separados. O schema do payload é 1.0.0 para o catálogo atual.
O ledger e o Tracer servem seu catálogo exato e o mapeamento de tópicos em:
Semântica de entrega
O Midaz publica esses eventos de negócio diretamente após a mudança de estado. Ele não os persiste em um outbox de streaming, e falhas de publicação são registradas em logs em vez de retornarem ao comando de negócio. Seus consumidores ainda precisam ser idempotentes e deduplicar por(ce-source, ce-id), pois o broker pode repetir um registro publicado. Valores monetários usam strings decimais; nunca os analise como ponto flutuante binário.
Checklist do consumidor
- Leia o manifesto do produtor.
- Assine o tópico da aplicação do produtor.
- Roteie por
ce-resourcetypeece-eventtype, não pelo formato do payload. - Valide
ce-schemaversionantes de decodificar. - Persista a chave de deduplicação antes de confirmar o registro.
Superfície legada do RabbitMQ
O Midaz também mantém exchanges legados do RabbitMQ para eventos selecionados de transação, overdraft e auditoria. Essa não é a totalidade do catálogo da lib-streaming. A configuração de exemplo entrega esses exchanges de saída desabilitados. Se você os habilitar, será responsável por bindings de fila,
ack/nack, dead-lettering, retentativas e isolamento de consumidores. O pipeline interno assíncrono de operações de saldo controlado por RABBITMQ_TRANSACTION_ASYNC não é um feed público de eventos.
Use a superfície Kafka para novas integrações, a menos que dependa explicitamente de um contrato legado do RabbitMQ.
Compatibilidade com o Streaming Hub
O Streaming Hub acompanha os tópicos da aplicação v3 do Midaz
lerian.streaming.ledger e lerian.streaming.tracer. Portanto, uma assinatura pode receber fatos do Midaz quando o produtor, a ingestão do hub e o runtime do destino estão habilitados. Faça o match pela chave do evento em ce-resourcetype e ce-eventtype; não espere um tópico Kafka por evento.

