- Building Microservices with .NET Core
- Gaurav Kumar Aroraa Lalit Kale Kanwar Manish
- 312字
- 2021-07-02 22:08:07
Fault tolerance
Monolithic applications have high module interdependency as they are tightly coupled. The different modules utilize functionality in such an intramodule manner that even a single module failure brings the system down due to the cascading effect, which is very similar to dominoes falling. We all know that a user not getting results for a product search would be far less severe than the entire system coming down to its knees.
Decoupling using web services has been traditionally attempted at the architecture level. For database-level strategies, ACID has been relied upon for a long time. Let's examine both these points further.
- Web services: In the current monolithic application, customer experience is degraded due to this very reason. Even as a customer tries to place an order, reasons such as high response time of web services or WCF or even a complete failure of the services itself results in a failure to place the order successfully. Not even a single failure is acceptable as the users tend to remember their last experience and assume a possible repeat. Not only is this loss of possible sales, but also loss of future business prospects. Web services' failures can cause a cascading failure in the systems that rely on them.
- ACID: ACID is the acronym for atomicity, consistency, isolation, and durability; it's an important concept in databases. It is in place, but whether it's a boon or bane is to be judged by the sum total of the combined performance. It takes care of failures at the database level, and there is no doubt that it does provide some insurance against the database errors that creep in. But at the same time, every ACID operation hampers/delays operations by other components/modules. The point at which it brings the system where it causes more harm than benefit needs to be judged very carefully.
推薦閱讀
- Go Web編程
- Mastering Zabbix(Second Edition)
- Python數據分析入門與實戰
- 零基礎PHP學習筆記
- Linux核心技術從小白到大牛
- JavaScript語言精髓與編程實踐(第3版)
- Learning Salesforce Einstein
- C# 8.0核心技術指南(原書第8版)
- SQL Server與JSP動態網站開發
- C和C++游戲趣味編程
- 現代C++編程實戰:132個核心技巧示例(原書第2版)
- AutoCAD 2009實訓指導
- Lift Application Development Cookbook
- Python Projects for Kids
- 3D Printing Designs:Octopus Pencil Holder