Attualmente sto imparando l'architettura basata sugli eventi e ho i seguenti 2 microservizi.
- Servizio prodotto - Responsabile della gestione dei prodotti
- Servizio ordini - Responsabile per l'elaborazione degli ordini
Il servizio del prodotto pubblica i seguenti eventi ogni volta che viene creato un prodotto
- ProductedCreatedEvent
- ProductedUpdatedEvent
Il Servizio ordini consuma questi messaggi e aggiorna il proprio archivio dati prodotto locale.
Domande
L'ordinamento degli eventi sembra abbastanza importante in quanto non desidero che il servizio di ordinazione consumi un ProductUpdatedEvent prima che il prodotto sia stato effettivamente creato.
Ho esaminato Azure Service Bus in quanto ciò può garantire l'ordine, tuttavia il loro ultimo prodotto, progettato per l'architettura basata su eventi, Azure Event Grid, non supporta l'ordine garantito.
Dovresti utilizzare solo un sistema di messaggistica che supporta FIFO in un'architettura di microservizi?
Se l'ordinamento non può essere garantito tramite il sistema di messaggi, in quali altri modi possiamo risolvere questo problema, se è davvero un problema.