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

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.

主站蜘蛛池模板: 犍为县| 长丰县| 兴城市| 南部县| 苏尼特左旗| 广州市| 禹城市| 洪江市| 定结县| 突泉县| 临高县| 无为县| 色达县| 海门市| 镇坪县| 广水市| 德庆县| 兰州市| 阳新县| 石楼县| 饶平县| 平南县| 宁陕县| 门源| 太湖县| 萍乡市| 三都| 乌兰浩特市| 蕲春县| 荥经县| 库伦旗| 苍溪县| 新野县| 扶沟县| 德昌县| 通山县| 华亭县| 丰镇市| 东莞市| 岑溪市| 龙山县|