Useful Links
Computer Science
Distributed Systems
Distributed Systems
1. Introduction to Distributed Systems
2. System Models and Architectures
3. Inter-Process Communication
4. Time and Global States
5. Coordination and Agreement
6. Consensus and Related Problems
7. Fault Tolerance and Reliability
8. Replication and Consistency
9. Distributed Data Storage
10. Distributed Transactions
11. Security in Distributed Systems
12. Modern Paradigms and Applications
System Models and Architectures
System Models
Physical Models
Hardware Components
Network Infrastructure
Geographic Distribution
Architectural Models
Software Layers
Component Placement
Communication Patterns
Fundamental Models
Interaction Models
Failure Models
Security Models
Architectural Styles
Layered Architectures
Layer Functions
Layer Interactions
Advantages and Limitations
Object-Based Architectures
Object Model Concepts
Object Communication
Distributed Object Systems
Resource-Centered Architectures
REST Principles
RESTful APIs
Resource Identification
Stateless Communication
Event-Based Architectures
Event Notification Mechanisms
Event Processing Models
Event Sourcing
System Architectures
Centralized Architectures
Client-Server Model
Multi-Tier Architectures
Thin vs. Thick Clients
Server Clusters
Decentralized Architectures
Peer-to-Peer Systems
Structured P2P Networks
Unstructured P2P Networks
Super-Peer Networks
Hybrid Architectures
Combining Client-Server and P2P
Edge-Server Systems
Use Cases for Hybrid Architectures
Interaction Models
Synchronous Systems
Blocking Communication
Timing Assumptions
Synchronous Message Passing
Asynchronous Systems
Non-blocking Communication
Eventual Delivery
Asynchronous Message Passing
Event-Based Interaction
Event Notification
Event Ordering
Event Correlation
Failure Models
Crash-Stop Failures
Process Termination
Detection Mechanisms
Omission Failures
Send Omission
Receive Omission
Channel Failures
Timing Failures
Performance Failures
Clock Failures
Byzantine Failures
Arbitrary Behavior
Malicious Failures
Impact on System Design
Network Partitions
Split-Brain Scenarios
Partition Tolerance
Previous
1. Introduction to Distributed Systems
Go to top
Next
3. Inter-Process Communication