Comprehensive analysis of high-level core knowledge in Java-distributed (classical basic theories, transactions, storage, computing & consistency protocols/algorithms of distributed systems)

1. The classic basic theory of distributed systems

This article mainly briefly introduces three common concepts: distributed system design concept , CAP theorem , BASE theory , and many more things about distributed systems.

Two, distributed transactions

Distributed transaction means that the participants of the transaction, the server supporting the transaction, the resource server and the transaction manager are located on different nodes of different distributed systems. The above is the explanation of Baidu Encyclopedia. Simply put, a large operation is composed of different small operations. These small operations are distributed on different servers and belong to different applications. Distributed transactions need to ensure that these small operations are either all Success, or all failures. In essence, distributed transactions are to ensure data consistency in different databases.

Three, consensus protocol/algorithm

As early as 1900, the famous Paxos classic algorithm was born (Zookeeper adopted the Zab algorithm , which is a close relative of the Paxos algorithm) , but the Paxos algorithm is very difficult to understand, implement, and troubleshoot. Therefore, people continue to try to simplify this algorithm. It was not until 2013 that there was a major breakthrough: Diego Ongaro and John Ousterhout of Stanford designed a new consensus algorithm- Raft algorithm with the goal of understanding , and published the corresponding paper 《In Search of an Understandable Consensus Algorithm》. Up to now, there are more than ten languages ​​to implement the Raft algorithm framework, the more famous is Etcd implemented in Go language, its function is similar to Zookeeper, but it uses the more mainstream Rest interface.

Fourth, distributed storage

** The distributed storage system stores data in multiple independent devices. **Traditional network storage systems use centralized storage servers to store all data. Storage servers become the bottleneck of system performance and the focus of reliability and security, and cannot meet the needs of large-scale storage applications. The distributed network storage system adopts an expandable system structure, uses multiple storage servers to share the storage load, and uses location servers to locate storage information. It not only improves the reliability, availability, and access efficiency of the system, but is also easy to expand.

Five, distributed computing

The so-called distributed computing is a computer science. It studies how to divide a problem that requires huge computing power into many small parts, and then distribute these parts to many computers for processing, and finally combine these calculation results to get final result.

Distributed network storage technology is to store data scattered on multiple independent machines and equipment . The distributed network storage system adopts a scalable system structure, uses multiple storage servers to share the storage load, and uses location servers to locate storage information. This not only solves the bottleneck problem of a single storage server in the traditional centralized storage system, but also improves the reliability of the system nature , availability and scalability .


Reference material: "Comprehensive Analysis of Java Intermediate and Advanced Core Knowledge" is limited to 100 copies. Some people have already obtained it through my previous article!
Seats are limited first come first served! ! ! There are more Java Pdf learning materials waiting for you! ! !
Students who want to get this learning material can click here to get it for free """""""

Guess you like

Origin blog.csdn.net/Java_Caiyo/article/details/112157098