What is Java distributed?
To put it simply, a large system is often divided into several subsystems. A subsystem can be deployed on multiple JVMs on one machine or on multiple machines. But each system is not independent, not completely independent. Need to communicate with each other to realize business functions together.
In a word: Distributed is to distribute back-end work to multiple hosts through a computer network, and multiple hosts work together to complete the work.
Distributed is now a must-know and must-know technology for Java development. At the same time, distributed technology is also a must-have question in interviews. Then we need to understand distribution very well. Today, we have compiled a note on the core principles of Java distributed. The distributed core technical notes that everyone is looking for on GitHub is finally free and open source! This note covers: distributed coordination and synchronization, distributed resource management and negative scheduling, distributed computing technology, distributed communication technology, distributed data storage, distributed high reliability (this distributed note has been sorted out, The free method is at the end of the article!)
Distributed coordination and synchronization
Distributed mutual exclusion
- What is distributed mutual exclusion?
- I domineering president: centralized algorithm
- Democratic consultation: distributed algorithm
- Rotating CEO: Token Ring Algorithm
Distributed election
- Why is there a distributed election?
- Distributed election algorithm
- Elder is big: Bully algorithm
- Democratic voting: Raft algorithm
- Democratic voting with priority: ZAB algorithm
- Comparative analysis of three election algorithms
Distributed consensus
- What is distributed consensus?
- Distributed consensus method
- PoW
- PoS
- DPoS
- Comparative analysis of three distributed consensus algorithms
Distributed transaction
- What is distributed transaction?
- How to implement distributed transactions?
- Two-phase submission method based on XA protocol
- Three-stage submission method: first, CanCommit stage, second, PreCommit stage, third, DoCommit stage
- Eventual consistency scheme based on distributed messages
- Comparison of implementation methods
Distributed lock
- Why use distributed locks?
- Three implementation methods and comparison of distributed locks
- Implement distributed lock based on cache
- Implement distributed lock based on ZooKeeper
- Comparison of three implementation methods
How did distributed technology detonate artificial intelligence?
- What is artificial intelligence?
- data processing
- Distributed model training
- Data distributed training
- Model distributed training
- Hybrid model training
Distributed resource management and negative arbitration scheduling
Distributed architecture-centralized architecture
- What is a centralized structure?
- Classic centralized structure
- Google Borg
- Governors
- Months
- Analysis and comparison
Distributed architecture-decentralized structure
- What is a decentralized structure?
- Akka cluster
- Redis cluster
- Cassandra cluster
- Comparative analysis
Distributed scheduling architecture-single scheduling
- What is single scheduling?
- Monolithic scheduling design
- Borg scheduling design
- Borg scheduling algorithm
Distributed scheduling architecture one two-tier scheduling
- What is two-tier scheduling?
- Two-tier scheduling design
- Two-tier scheduling architecture
- Resource allocation algorithm
Distributed scheduling architecture-shared state scheduling
- What is shared state scheduling?
- Shared state scheduling design
- Omega scheduling architecture
- How Omega Shared Scheduling Works
Distributed transaction and distributed lock related issues
Distributed computing technology
Distributed computing mode-MR
- What is divide and conquer?
- Principles of divide and conquer
- Abstract model
- How MapReduce works
- MapReduce practice application
Distributed computing mode-Stream
- What is Stream?
- How Stream works
- How Storm works
Distributed computing mode-Actor
- What is an actor?
- Actor calculation mode
- Actor working principle
- Actor key features
- Application of the Actor model
Distributed computing mode-pipeline
- What is pipeline mode?
- Pipeline calculation mode
- The principle of pipeline calculation mode
- Practice: Building a machine learning pipeline
Distributed communication technology
Distributed communication-remote call
- What is remote call?
- The principle and application of remote call
- The principle and application of RPC
- The principle and application of RMI
- Comparative analysis of RPC and RMI
Distributed communication-publish and subscribe
- What is publish and subscribe?
- The principle and application of publish and subscribe
- The basic working principle of publish and subscribe
- Kafka publish and subscribe principle and working mechanism
- Publish and Subscribe Practice Application
Distributed communication-message queue
- What is a message queue?
- The principle of message queue
- How message queues work
- RocketMQ message queue principle and working mechanism
Distributed architecture and distributed computing related issues
Distributed data storage
CAP theory
- What is CAP?
- CAP selection strategy and application
- Guarantee CA and discard P
- Protect CP and discard A
- Keep AP and discard C
Distributed Data Storage System-Three Elements
- What is a distributed data storage system?
- Three elements of distributed data storage system
- Production and consumption data
- Determine data location
- Storing data
Data distribution method-hash and consistent hash
- Data distribution design principles
- Data distribution method
- Hash consistent hash
- Consistent hashing with limited load
- Consistent hash with virtual nodes
- Comparison of four data distribution methods
Distributed data replication technology
- What is data replication technology?
- Principle and application of data replication technology
- Principle and application of synchronous replication technology
- Principle and application of asynchronous replication technology
- Principle and application of semi-synchronous replication technology
- Comparison of three data replication technologies
Distributed Data-Cache Technology
- What is distributed cache?
- Principle of Distributed Cache
- Redis distributed caching principle
- Memcached distributed caching principle
Distributed high reliability
Distributed high reliability and load balancing
- What is load balancing?
- Load balancing method for service request
- Polling strategy
- Random strategy
- Hashing and consistent hashing strategy
Distributed high reliability and flow control
- What is flow control?
- Distributed system flow control strategy
- Leaky bucket strategy
- Token bucket strategy
- Comparison of two strategies
- How Sentinel Flow Control Works
Distributed high availability and fault isolation
- What is fault isolation?
- Distributed fault isolation strategy
- Thread-level isolation
- Process-level isolation
- Resource isolation
- Comprehensive comparison of fault isolation strategies
Distributed high availability-failure recovery
- Basic knowledge of distributed failure
- Fault type
- Fault detection
- Recovery
- Principle of Distributed Fault Detection
- Failure recovery strategy
How to judge and solve the network partition problem?
- What is a network partition?
- How to determine whether a network partition has occurred?
- Where is the most subtle part of network partitioning?
- What are the scenarios with a higher probability of occurrence of network partitions?
- What are the common processing methods for network partitions?
Free access method: please like this article + follow me, then add assistant VX: mxx2020666, you can get it for free