Since microservices are autonomous and abstract everything behind the service APIs, it is possible to have different architectures for different microservices. A few common characteristics that we see in microservices implementations are as follows:
- Different services use different versions of the same technologies. One microservice may be written on Java 1.7 and another one could be on Java 1.8.
- Different languages for developing different microservices, such as one microservice in Java and another one in Scala.
- Different architectures such as one microservice using Redis cache to serve data while another microservice could use MySQL as a persistent data store.
A polyglot language scenario is depicted ...