Ho un microservizio (Microservice A) che si connette a un MQ del client e riceve messaggi e persiste nel database (tipo sincrono MessageA dopo il messaggio B per lo stesso ordine). Internamente ho n microservizi che gestiscono ciascuno un particolare tipo di messaggio basato su alcuni parametri del messaggio. Tutti i microservizi sono indipendenti l'uno dall'altro e possono eseguire l'elaborazione utilizzando i dati del messaggio (che è persistente nell'operazione Database-Rest RestMI).
Tuttavia MessageB from the MQ deve essere elaborato solo quando MessageA ha terminato la sua elaborazione completa. (Synchronous). Ma ogni messaggio può chiamare N microservizi per eseguire i suoi compiti che possono essere asincroni * (Async) in natura.
Come posso determinare la sincronizzazione tra l'elaborazione del messaggio del genitore w.r.t il figlio (attività Async). i.e messaggio A - > 4 attività (microservizio Async) - > chiama 4 microservizi completa il lavoro e elabora le attività del messaggio B -4?