Lab: E-commerce Order Processing
Percorso tipico: ordine piazzato → pagamento → inventario → notifica: eventi orchestrano servizi senza orchestratore monolitico.
Approfondimento
Definizioni, contesto e collegamenti tra concetti — leggi prima del palcoscenico interattivo se parti da zero.
Ordine come coreografia
Nel lab semplificato, `order.placed` innesca una catena di eventi senza orchestratore centrale: ogni servizio reagisce e pubblica il passo successivo. È coreografia: meno single point of failure, ma il grafo delle dipendenze va documentato.
Quando servono transazioni distribuite con compensazione esplicita (annulla prelievo se inventario fallisce), valuta saga orchestrata o coreografia con passi di compensazione progettati a tavolino.
UI e read model
La UI non deve ascoltare ogni micro-evento interno: spesso si sottoscrive a un read model `order_status` denormalizzato che il prodotto espone già pronto per la chip di stato. Riduci rumore e accoppiamento tra schermata e grafo interno.
Palcoscenico
Order API
Pubblica `order.placed`
Messaggio replicato in parallelo verso consumer indipendenti
Contratto e codice
Schema JSON basato su CloudEvents 1.0, poi snippet server e client.
{
"specversion": "1.0",
"source": "/orders-service",
"id": "550e8400-e29b-41d4-a716-446655440000",
"time": "2026-05-13T12:00:00.000Z",
"datacontenttype": "application/json",
"type": "com.example.order.placed",
"data": {
"orderId": "ord_1001",
"customerId": "cus_77",
"totalCents": 4990
}
}