Suppongo di avere il seguente caso d'uso:
- Voglio un servizio sincrono se possibile (in caso di arresto anomalo della macchina voglio terminarlo in background, da qualche altro nodo)
- Voglio salvare qualcosa nel mio database e pubblicare un evento su un flusso di eventi come kafka o kinesis (che significa 2 transazioni db + evt stream)
Sono stateless con dockers quindi non so se la macchina di transazione che si riprende sia la stessa che è morta in precedenza. Quindi la domanda è: come posso assicurarmi che una transazione del genere sia finita?
Mi stavo chiedendo una transazione asincrona, ma il mio servizio non può essere sincrono, o vorrei creare una transazione con uno stato e interrogarlo mentre viene gestito in modo asincrono. Quali sono le soluzioni comuni? Ho solo bisogno di raggiungere la coerenza finale