- Building Microservices with .NET Core 2.0(Second Edition)
- Gaurav Aroraa
- 327字
- 2021-07-02 20:12:53
Advantages of microservices
Now let's try to quickly understand where microservices takes a leap ahead of the SOA and monolithic architectures:
- Cost effective to scale: You don't need to invest a lot to make the entire application scalable. In terms of a shopping cart, we could simply load balance the product search module and the order-processing module while leaving out less frequently used operation services, such as inventory management, order cancellation, and delivery confirmation.
- Clear code boundaries: This action should match an organization's departmental hierarchies. With different departments sponsoring product development in large enterprises, this can be a huge advantage.
- Easier code changes: The code is done in a way that it is not dependent on the code of other modules and is only achieving isolated functionality. If it were done right, then the chances of a change in a microservice affecting another microservice are very minimal.
- Easy deployment: Since the entire application is more like a group of ecosystems that are isolated from each other, deployment could be done one microservice at a time, if required. Failure in any one of these would not bring the entire system down.
- Technology adaptation: You could port a single microservice or a whole bunch of them overnight to a different technology without your users even knowing about it. And yes, hopefully, you don't expect us to tell you that you need to maintain those service contracts, though.
- Distributed system: This comes as implied, but a word of caution is necessary here. Make sure that your asynchronous calls are used well and synchronous ones are not really blocking the whole flow of information. Use data partitioning well. We will come to this a little later, so don't worry for now.
- Quick market response: The world being competitive is a definite advantage; as otherwise, users tend to quickly lose interest if you are slow to respond to new feature requests or adoption of a new technology within your system.
推薦閱讀
- Java逍遙游記
- Vue.js前端開發基礎與項目實戰
- C# 從入門到項目實踐(超值版)
- Web開發的貴族:ASP.NET 3.5+SQL Server 2008
- Python Geospatial Development(Second Edition)
- WordPress Plugin Development Cookbook(Second Edition)
- 名師講壇:Java微服務架構實戰(SpringBoot+SpringCloud+Docker+RabbitMQ)
- R的極客理想:工具篇
- PhpStorm Cookbook
- PhoneGap Mobile Application Development Cookbook
- Web程序設計(第二版)
- 程序員修煉之道:通向務實的最高境界(第2版)
- GameMaker Essentials
- 創意UI:Photoshop玩轉APP設計
- Unity 2017 Game AI Programming(Third Edition)