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

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.

主站蜘蛛池模板: 娄底市| 桦甸市| 乐清市| 南昌市| 且末县| 尉氏县| 博湖县| 安溪县| 称多县| 东阿县| 宁陕县| 沅江市| 三明市| 天峨县| 镇安县| 沙坪坝区| 山阴县| 武夷山市| 乌鲁木齐县| 东乌| 门头沟区| 友谊县| 鄂托克前旗| 金乡县| 平塘县| 米易县| 萍乡市| 中西区| 义马市| 乌拉特后旗| 和田县| 武冈市| 泗洪县| 酉阳| 互助| 修文县| 江西省| 区。| 尉氏县| 镇雄县| 石林|