I was wondering which of my two methods is more appropriate, or is there event another one?
(1) Direct
Direct communication between GATEWAY
and μSERVICE A
UI
sendsHTTP
request toGATEWAY
GATEWAY
sendsHTTP
request toμSERVICE A
μSERVICE A
returns eitherSUCCESS
orERROR
- Event is stored in
EVENT STORE
and published toQUEUE
PROJECTION DATABASE
is updated- Other
μSERVICES
might consume event
(2) Events
Event-based communication via a message queue
UI
sendsHTTP
request toGATEWAY
GATEWAY
published event toQUEUE
μSERVICE A
consumes event- Event is stored in
EVENT STORE
and published toQUEUE
PROJECTION DATABASE
is updated- Other
μSERVICES
might consume event GATEWAY
consumes event and sends response (SUCCESS
orERROR
) toUI
I am really sorry if I misunderstood some concept, I am relatively new to this style of architecture.
Thanks in advance for every help! :)