Как правильно реализовать микросервисную архитектуру?
В большинстве случаев правильно её вообще не реализовывать. Вы — не Google.
Хочу немного резюмировать. Каждый микросервис представляется собой REST сервис, которые между собой обмениваются данными через шины (например RabbitMQ или ActiveMQ). Данные кэшируются в распределенном кэше, например memcached или redis.