← Tutte le CapsuleADT - Architettura tecnica e pattern distribuiti Riepilogo architetture piattaforma enterprise sanitaria
Saga Choreography
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
Capsule Informatiche · Materiale progettuale
Capsule Informatiche · Materiale progettuale
