Capsule Informatiche di Lello De Luca
← Tutte le Capsule

Saga Choreography

DecomposizioneApprofondimento

Ogni servizio reagisce a eventi di dominio e pubblica nuovi eventi, formando un flusso emergente.

Il problema

Si vuole coordinare un processo distribuito senza introdurre un orchestratore centrale.

Il pattern

Ogni servizio reagisce a eventi di dominio e pubblica nuovi eventi, formando un flusso emergente.

Come funziona

Il producer non conosce i consumer. Il broker distribuisce gli eventi e ogni servizio mantiene il proprio stato. Serve però una forte disciplina su contratti, idempotenza, versionamento e tracing.

Esempio sanitario

Benefici

  • Basso coupling tra producer e consumer
  • Alta autonomia
  • Facile aggiungere nuovi subscriber

Trade-off

  • Workflow difficile da visualizzare
  • Cicli e dipendenze emergenti
  • Debug distribuito complesso

Quando usarlo

Per flussi brevi, lineari e naturalmente event-driven.

Quando evitarlo

Per workflow lunghi con molte decisioni, timeout e compensazioni.

Pattern correlati

RIFERIMENTI

Fonti e riferimenti

ADT - Architettura tecnica e pattern distribuiti

Capsule Informatiche · Materiale progettuale

Riepilogo architetture piattaforma enterprise sanitaria

Capsule Informatiche · Materiale progettuale