
You will agree with me that this topology looks easy compared to the rpc topology.
To be continued...

The yellow blocks mark the publisher of the event.
The blue block marks the consumer of the event.
A short summary: A publisher (can be a microservice or a fat-client app or whatever) publishes a message to the exchange "bank.events.exchange". The queue "BankAccountService.evetns.queue" is bound under the routing key "ClientNameChanged" to the "bank.events.exchange". Behind the queue "BankAccountService.events.queue listens the "BankAccountServer.EventConsumer".
​
So, if there is coming a message to the "bank.events.exchange" with the routing key "ClientNameChanged" in its header it gets routed to the queue "BankAccountService.events.queue". If the routing key is another nothing gets routed!