System Design
Contents that I want to learn about distributed systems:
Name | Type | Link |
---|---|---|
Designing Data Intensive Applications | Book | ⛓️ |
Design Patterns for Distributed Systems | Article | ⛓️ |
How Message Queues Work in Distributed Systems | Article | ⛓️ |
System Design for Beginners Course | Course | ⛓️ |
System Design by Gaurav Sen | Playlist | ⛓️ |
Distributed Systems: Principles and Paradigms by Tanenbaum | Book | ⛓️ |
Distributed System course USP | Course | ⛓️ |
Some notes (will become a content to learn)
- Subscribe in Rinha de Backend
- Learn about Scheduler
- Learn about Event Driven
- Learn about Webhook
- Learn about Mutex, Semaphore, Distributed Lock
- Learn about Materialized Views
- how to update the view in a fast and reliable way, real-time preferably
- Learn about CAP Theorem
- Entra na rinha de backend também
Some problems to solve
- A database with 3 replica set and work eventual consistency
- Synchronization of data between 2 microservices and database
- Imagine that you have a Ledger that controls the balance of accounts.
- How do you ensure that only 1 request changes the balance at a time?
- How do you ensure that you do not duplicate payments?
- How do you implement rate limit?
- How do you handle only being able to have 1000 requests per 10 minutes?