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

Supports polyglot architecture

With microservices, architects and developers get flexibility in choosing the most suitable technology and architecture for a given scenario. This gives the flexibility to design better fit solutions in a more cost-effective way.

Since microservices are autonomous and independent, each service can run with its own architecture or technology, or different versions of technologies.

The following image shows a simple, practical example of polyglot architecture with microservices:

There is a requirement to audit all system transactions and record transaction details such as request and response data, users who initiated the transaction, the service invoked, and so on.

As shown in the preceding diagram, while core services like Order microservice and Product microservice use a relational data store, the Audit microservice persists data in a Hadoop File System (HDFS). A relational data store is neither ideal nor cost effective to store large data volumes, like in the case of audit data. In the monolithic approach, the application generally uses a shared, single database that stores the Order, Product, and Audit data.

In this example, audit service is a technical microservice using a different architecture. Similarly, different functional services could also use different architectures.

In another example, there could be a Reservation microservice running on Java 7, while a Search microservice could be running on Java 8. Similarly, an Order microservice could be written on Erlang, whereas a Delivery microservice could be on the Go language. None of these are possible with a monolithic architecture.

主站蜘蛛池模板: 鹤岗市| 桐乡市| 手游| 荆门市| 淳化县| 牙克石市| 尉氏县| 平南县| 凤台县| 三门县| 稷山县| 营山县| 乐安县| 大丰市| 商都县| 达州市| 松阳县| 新平| 景洪市| 武平县| 九寨沟县| 乐东| 蒲江县| 陵川县| 海门市| 瓮安县| 松原市| 镇原县| 安吉县| 城口县| 视频| 余姚市| 内江市| 北京市| 大连市| 新晃| 长丰县| 通许县| 西林县| 津南区| 临猗县|