studio.lerian.tracer.* de esta página.
Envelope de CloudEvents
Todo hecho JSON público usa el envelope compartido que aparece a continuación. Los headers transportan la información de enrutamiento y de esquema. El valor de Kafka transporta el objetodata en JSON.
Temas, manifiesto y enrutamiento
El tema de la aplicación identifica a Midaz Tracer, no a un evento individual. Enruta un registro porce-resourcetype y ce-eventtype, y valida ce-schemaversion antes de decodificar su valor data.
- Hechos:
lerian.streaming.tracer - Ruta DLQ:
lerian.streaming.tracer.dlq - Manifiesto:
GET /v1/streaming/manifestexpone el catálogo JSON público y el mapeo de temas, incluso mientras la publicación está desactivada.
Semántica de entrega y fallos
La publicación está deshabilitada hasta queSTREAMING_ENABLED=true y la configuración del broker se completa con éxito. Cuando está habilitada, Tracer emite después del cambio de estado de negocio. No usa un outbox transaccional.
- Política: cada definición JSON pública es un
factcon entrega directa, manejo de DLQon_routable_failureyfallback_on_circuit_open. - Límite real de Tracer: como Tracer no tiene outbox, el fallback de circuito abierto no puede persistir un evento. Las rutas de emisión registran y absorben los errores de publicación en lugar de devolverlos al comando de negocio.
- Requisito del consumidor: la entrega del broker es al menos una vez para los registros publicados. Haz que los handlers sean idempotentes y deduplica con
(ce-source, ce-id).
Contratos completos de data
Estas declaraciones al estilo TypeScript reflejan las etiquetas JSON de data del CloudEvent en Midaz. Cada nombre de campo es su nombre JSON. ? significa que el campo tiene omitempty. | null significa que el campo es nullable y nunca está ausente. Un comentario de tipo de origen conserva exactamente el tipo del inventario. Todos los campos de estos 12 payloads de Tracer están presentes (omitempty: false). Los campos nullable siguen llevando null cuando están ausentes.
limit.activated
limit.activated
Clave de definición:
limit.activated (LimitActivatedDefinition)Evento: studio.lerian.tracer.limit.activatedTema: lerian.streaming.tracerRuta DLQ: lerian.streaming.tracer.dlqEsquema: 1.0.0 (application/json)Se dispara cuando: ActivateLimitCommand activa un límite con éxito.Asunto: p.IDlimit.created
limit.created
Clave de definición:
limit.created (LimitCreatedDefinition)Evento: studio.lerian.tracer.limit.createdTema: lerian.streaming.tracerRuta DLQ: lerian.streaming.tracer.dlqEsquema: 1.1.0 (application/json)Se dispara cuando: CreateLimitCommand crea un límite con éxito.Asunto: p.IDlimit.deactivated
limit.deactivated
Clave de definición:
limit.deactivated (LimitDeactivatedDefinition)Evento: studio.lerian.tracer.limit.deactivatedTema: lerian.streaming.tracerRuta DLQ: lerian.streaming.tracer.dlqEsquema: 1.0.0 (application/json)Se dispara cuando: DeactivateLimitCommand desactiva un límite con éxito.Asunto: p.IDlimit.deleted
limit.deleted
Clave de definición:
limit.deleted (LimitDeletedDefinition)Evento: studio.lerian.tracer.limit.deletedTema: lerian.streaming.tracerRuta DLQ: lerian.streaming.tracer.dlqEsquema: 1.0.0 (application/json)Se dispara cuando: DeleteLimitCommand elimina un límite con éxito.Asunto: p.IDlimit.drafted
limit.drafted
Clave de definición:
limit.drafted (LimitDraftedDefinition)Evento: studio.lerian.tracer.limit.draftedTema: lerian.streaming.tracerRuta DLQ: lerian.streaming.tracer.dlqEsquema: 1.0.0 (application/json)Se dispara cuando: DraftLimitCommand mueve un límite a DRAFT con éxito.Asunto: p.IDlimit.updated
limit.updated
Clave de definición:
limit.updated (LimitUpdatedDefinition)Evento: studio.lerian.tracer.limit.updatedTema: lerian.streaming.tracerRuta DLQ: lerian.streaming.tracer.dlqEsquema: 1.1.0 (application/json)Se dispara cuando: UpdateLimitCommand actualiza un límite con éxito.Asunto: p.IDrule.activated
rule.activated
Clave de definición:
rule.activated (RuleActivatedDefinition)Evento: studio.lerian.tracer.rule.activatedTema: lerian.streaming.tracerRuta DLQ: lerian.streaming.tracer.dlqEsquema: 1.0.0 (application/json)Se dispara cuando: ActivateRuleService activa una regla con éxito.Asunto: p.IDrule.created
rule.created
Clave de definición:
rule.created (RuleCreatedDefinition)Evento: studio.lerian.tracer.rule.createdTema: lerian.streaming.tracerRuta DLQ: lerian.streaming.tracer.dlqEsquema: 1.0.0 (application/json)Se dispara cuando: CreateRuleCommand crea una regla con éxito.Asunto: p.IDrule.deactivated
rule.deactivated
Clave de definición:
rule.deactivated (RuleDeactivatedDefinition)Evento: studio.lerian.tracer.rule.deactivatedTema: lerian.streaming.tracerRuta DLQ: lerian.streaming.tracer.dlqEsquema: 1.0.0 (application/json)Se dispara cuando: DeactivateRuleService desactiva una regla con éxito.Asunto: p.IDrule.deleted
rule.deleted
Clave de definición:
rule.deleted (RuleDeletedDefinition)Evento: studio.lerian.tracer.rule.deletedTema: lerian.streaming.tracerRuta DLQ: lerian.streaming.tracer.dlqEsquema: 1.0.0 (application/json)Se dispara cuando: DeleteRuleService elimina una regla con éxito.Asunto: p.IDrule.drafted
rule.drafted
Clave de definición:
rule.drafted (RuleDraftedDefinition)Evento: studio.lerian.tracer.rule.draftedTema: lerian.streaming.tracerRuta DLQ: lerian.streaming.tracer.dlqEsquema: 1.0.0 (application/json)Se dispara cuando: DraftRuleService mueve una regla a DRAFT con éxito.Asunto: p.IDrule.updated
rule.updated
Clave de definición:
rule.updated (RuleUpdatedDefinition)Evento: studio.lerian.tracer.rule.updatedTema: lerian.streaming.tracerRuta DLQ: lerian.streaming.tracer.dlqEsquema: 1.0.0 (application/json)Se dispara cuando: UpdateRuleCommand actualiza una regla con éxito.Asunto: p.ID
