I don&#x27;t know what the author of the article is reading, but the information I read says to use REST for your sync communication which require realtime feedback and are blocking anyway (like authentication). Then use message queue mechanisms  for non-blocking&#x2F;async stuff (e.g. Inventory update, packaging services, etc.). Amazon even has the services out of the box in sqs&#x2F;sns but you can also use rabbitmq, zeromq, ironmq, or whatever.<p>Of course, above described approach is just an (opinionated) option and by no means the only, or best solution. Cockcroft defines a microservices architecture as a service-oriented architecture composed of loosely coupled elements that have bounded contexts. Loosely coupled meaning you can develop, update, and deploy separately. Bounded contexts meaning you can understand and update the microservice’s code without knowing anything about the internals of its peers. I think this is the best description as it leaves completely open how one would achieve this. In other words, as long as it works for your situation it&#x27;s fine.