by Xiaokang Zhang | Jul 21, 2020 | Software Architecture
As discussed in the previous blog, the bottleneck of thread based architecture is that creating a new thread for each event is going to come with a memory footprint which will exhaust all memories or the number of threads the system can support. The event based...
by Xiaokang Zhang | Jul 20, 2020 | Software Architecture
A scalable service is a service that can maintain constant response time as the load increases as more nodes are added to the cluster and new server instances are running. Why it is so difficult to build a scalable service? Of course, the modern internet services are...
by Xiaokang Zhang | Aug 5, 2019 | Software Architecture
What is antipattern? Stability antipatterns are systematic patterns of failure about service stability. Why study antipatterns? Software rarely crashes today. Each of the antipatterns will create, accelerate, or multiply cracks in the system. Learning the antipatterns...
by Xiaokang Zhang | Jul 28, 2019 | Software Architecture
Quick Read is a series of blogs aiming to provide a quick explanation for one concept. One at A Time. Source: Circuit Breaker, Martin FowlerCircuit Breaker, Microsoft Cloud Design Pattern What is Circuit Breaker? Circuit breaker is a design pattern used in modern...
by Xiaokang Zhang | Jul 28, 2019 | Software Architecture
Notes from reading the book: Release It! Design and Deploy Production-Ready Software. Morden software system usually needs to process transactions, which is an abstract unit of work. A resilient system keeps processing transactions even when there are transient...
by Xiaokang Zhang | Jul 23, 2019 | Software Architecture
This is the study notes from the book Release It! Design and Deploy Production-Ready Software. AVAILABILITY is one of the most frequently used term to describe the reliability of the system. In this section, we will dive deep into the hard of availability. We will...