- Building Microservices with .NET Core 2.0(Second Edition)
- Gaurav Aroraa
- 306字
- 2021-07-02 20:12:54
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 the high response time of web services or even a complete failure of the service itself results in a failure to place the order successfully. Not even a single failure is acceptable, as users tend to remember their last experience and assume a possible repeat. Not only does this result in the loss of possible sales, but also the 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. At the same time, every ACID operation hampers/delays operations by other components/modules. The point at which it causes more harm than benefit needs to be judged very carefully.
推薦閱讀
- 手機安全和可信應用開發指南:TrustZone與OP-TEE技術詳解
- 從零開始:數字圖像處理的編程基礎與應用
- 垃圾回收的算法與實現
- Docker進階與實戰
- Vue.js 2 and Bootstrap 4 Web Development
- Java高手真經(高級編程卷):Java Web高級開發技術
- Easy Web Development with WaveMaker
- Python 3破冰人工智能:從入門到實戰
- Python數據挖掘與機器學習實戰
- Learning Unreal Engine Android Game Development
- Spring MVC+MyBatis開發從入門到項目實踐(超值版)
- Python 3 Object:oriented Programming(Second Edition)
- Python Projects for Kids
- WordPress Search Engine Optimization(Second Edition)
- 第五空間戰略:大國間的網絡博弈