官术网_书友最值得收藏!

Microservices with polyglot architecture

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 in the following diagram:

In the preceding example, since Hotel Search is expected to have high transaction volumes with stringent performance requirements, it is implemented using Erlang. In order to support predictive search, Elastic Search is used as the data store. At the same time, Hotel Booking needs more ACID transactional characteristics. Therefore, it is implemented using MySQL and Java. The internal implementations are hidden behind service endpoints defined as REST/JSON over HTTP.

主站蜘蛛池模板: 隆子县| 望城县| 双城市| 垦利县| 赤城县| 甘孜| 天水市| 云阳县| 渝中区| 绥德县| 松桃| 渝北区| 东丽区| 南和县| 景谷| 武城县| 如东县| 玉环县| 小金县| 山阳县| 永川市| 崇明县| 调兵山市| 兰考县| 泗洪县| 县级市| 大姚县| 镇原县| 鸡西市| 邹城市| 临颍县| 永城市| 南乐县| 积石山| 潜江市| 东山县| 类乌齐县| 信宜市| 怀来县| 原平市| 潍坊市|