liri2006
liri2006

Reputation: 591

Handling user request in Microservice Architecture powered by Messaging inter-communication (f.e. RabbitMQ)

I'm just starting with Microservice Architecture and investigating how to build that on top of messaging bus.

There is one concern which bothers me right now - how do I handle a simple query-like request from user or when microservice needs some data from other microservice to serve a response? (f.e. getOrderList, or getUserNameById)

I know there is a RPC pattern in RabbitMQ, but everybody is strongly recommending to avoid that (as it brings temporal coupling) and use async communication instead.

Upvotes: 1

Views: 255

Answers (1)

IlliakaillI
IlliakaillI

Reputation: 1558

Yes, you have to use async communication in order to make sure that services are temporally decoupled. Here is a good series of articles that explains reasoning behind that design decision in-depth.

Also, consider reading about CQRS/ES approach to design microservices, it was an eye-opener for me when I first discovered it.

Upvotes: 1

Related Questions