Skip to main content

System Design

Contents that I want to learn about distributed systems:

NameTypeLink
Designing Data Intensive ApplicationsBook⛓️
Design Patterns for Distributed SystemsArticle⛓️
How Message Queues Work in Distributed SystemsArticle⛓️
System Design for Beginners CourseCourse⛓️
System Design by Gaurav SenPlaylist⛓️
Distributed Systems: Principles and Paradigms by TanenbaumBook⛓️
Distributed System course USPCourse⛓️

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?