This article focuses on the consistency of distributed systems, explaining the mystery of it in a simple and simple way from examples, algorithms, and principles. The ultimate meaning of the architecture is to reduce the complexity to simplicity, and those who are not sophisticated can't do it.
For those of you who are interested in studying the technical architecture and expanding the industry's horizons, I believe this article will bring you a lot of thinking and growth. such as:
Can distribution solve all problems? No, it will bring more problems!
How to build a scalable system under the physical rules? How to weigh the trade-offs between the ideal design of the algorithm and its practical application?
There may not be a single answer, but every time you get something, you are all happy!
The actual combat of high-concurrency and high-availability systems, detailed interpretation of the core features of complex systems, distributed systems and consistent documents, solve the true meaning of architecture for you!
Outline of this article
Refined content knowledge points
This article is divided into four parts in total: opening chapter, system case, distributed algorithm, consistency; at the same time, these four parts are divided into 16 chapters, and there are more detailed content in these 16 chapters. You can see it in the catalog!
The core feature of a distributed system: consistency
Google's file system
Open source file system HDFS
Google's BigTable system
Document database MongoDB
Messaging system RabbitMQ
Coordination Service ZooKeeper
Google's Spanner database
Distributed database CockroachDB
Consensus algorithm Paxos
Copy log algorithm Raft
Atomic Broadcasting Algorithm Zab
Transaction consistency and isolation level
Linear consistency and strong consistency
Trade-offs in architecture design
Friends who need this [Distributed System and Consistency] document to learn, can forward this article to follow the editor, scan the code below to get it! ! !
Hope this article can help everyone's learning! !