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

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.

主站蜘蛛池模板: 德令哈市| 岳阳县| 万荣县| 阿克陶县| 响水县| 敦煌市| 西峡县| 吉林市| 枣阳市| 沙湾县| 林州市| 永仁县| 哈尔滨市| 阿克陶县| 淮北市| 瑞安市| 景德镇市| 成都市| 龙泉市| 峡江县| 禄劝| 阳原县| 赤水市| 凤翔县| 南宁市| 桦南县| 扬中市| 高雄市| 安仁县| 通化市| 泾源县| 吐鲁番市| 江山市| 克山县| 清涧县| 土默特右旗| 永顺县| 丰台区| 康定县| 富阳市| 上林县|