Design Modern Web-Scale Distributed Applications Like a Pro

Learn to design distributed systems for web-scale traffic following industry best practices and insights from real-world architectures

Design Modern Web-Scale Distributed Applications Like a Pro

Course Contents (What You’ll Learn)

1. Concurrency in Online Services
  1. Handling Concurrency in Online Services – Part 1 – (Transaction Isolation Levels) (preview)
  2. Handling Concurrency in Online Services – Part 2 – (Database Locks)
  3. Handling Concurrency in Online Services – Part 3 – (Concurrency Control Mechanisms)
2. Handling Database Growth
  1. Managing Database Growth – Part 1 – (Partitioning)
  2. Managing Database Growth – Part 2 – (Partitioning Strategies)
  3. Database Replication
  4. Dealing With Conflicts – Part 1 – (Multi-Master Write Conflicts)
  5. Dealing With Conflicts – Part 2 – (Synchronized Clocks for Ordering Events)
  6. Dealing With Conflicts – Part 3 – (CRDTs and OT)
  7. Leaderless Replication
3. Distributed Transactions
  1. Cross-Shard Distributed Transactions
  2. Non-blocking Distributed Transactions – (Saga Pattern)
  3. Two Phase Commit and Saga – Picking the Right Approach
  4. Application Level Sharding – Tweaking Code for Cross Shard Operations
  5. Cross Shard Transactions with Over a Million QPS – (Real-World Instance)
  6. Horizontally Scaling Relational Database Clusters – (Real-World Instance)
  7. Using a Distributed Database Solution to Handle Queries in a Relational Database Cluster
  8. Distributed SQL
  9. ACID Transactions in NoSQL Databases
  10. Summary
4. Design a Sports News and Streaming Service Like ESPN, Cricbuzz and Hotstar
  1. Overview
  2. Live Streaming (Core Feature in Services Like Twitch, YouTube, Facebook, Hotstar) – Part 1
  3. Live Streaming Service – Part 2 – (Infrastructure, Thundering Herd and Request Coalescing)
  4. Live Streaming Service – Part 3 – (Stream Validation in Real-time) (preview)
  5. Using a Message Broker as a Buffer in Stream Validation
  6. Message Broker Performance
  7. Persisting the Live Stream for Video-On-Demand Service
  8. Getting Our Infrastructure Ready for the Traffic Surge – Part 1 – (No Blind Spots and Injecting Chaos)
  9. Getting Our Infrastructure Ready – Part 2 – (Not Relying on Autoscaling and Other Strategies)
  10. Handling Production Traffic – (Throttling)
5. Video-on-demand Service/Module (Like Netflix, YouTube, HBO Max, Disney+)
  1. Video Delivery Architecture Part 1 – (Designing A Workflow)
  2. Video Delivery Architecture Part 2 – (Workflow Execution)
  3. Video Delivery Architecture Part 3 – (Delivering Content through Edge, Data Estimations)
  4. Designing User Profile with a Relational Data Model
  5. Storing Relationships in a Document-Oriented Database
6. Video/News Feed Service (Like Netflix Video Feed, Facebook News Feed)
  1. Designing the Video Recommendation Feed for the VOD Service Home Page – Part 1 – (Change Data Capture)
  2. Designing the Video Recommendation Feed for the VOD Service Home Page – Part 2 – (Creating a Recommendation Object)
7. Push Notifications Service (Like Facebook Notifications, YouTube Notifications)
  1. Notifying Viewers of the New Content
8. CMS – Content Management Service (Like New York Times, Medium, TechCrunch, Bloomberg, Cricbuzz)
  1. Picking the Right Data Model and Knowledge Graphs (preview)
  2. Designing Content Graph for our CMS – Part 1
  3. Designing Content Graph for our CMS – Part 2
  4. CMS Core Architecture
9. Distributed Content Search Service
  1. Picking the Right Data Store to Power our Application Search
  2. Search Architecture: Designing an Indexing Pipeline
  3. Storing our Data with an Inverted Index
  4. Distributed Search Behind the Scenes
  5. Real-time Search with Immutable Inverted Indices – Part 1
  6. Real-time Search with Immutable Inverted Indices – Part 2
10. User Subscription Payment Service (Like Netflix Payments, Cricbuzz Payments)
  1. Understanding the Online Card Payment Flow
  2. Designing the Distributed Payment Flow – Part 1 – (Saga Pattern)
  3. Designing the Distributed Payment Flow – Part 2 – (Event Sourcing)
  4. Event Ordering with Message Queue and Persisting Events
  5. Handling Duplicate Events, Ensuring Idempotency and CQRS Pattern
11. Weaving all the Services Together – Inter Microservice Communication
  1. Communication Between Different Platform Services
  2. Discovering Services in the Network
  3. Laying Up a Service Mesh and SideCar Pattern
  4. Handling the Interviews
  5. Designing Something, You’ve No Clue About – Part 1
  6. Designing Something, You’ve No Clue About – Part 2
  7. Future Content (Coming Soon)
  8. Epilogue
  9. Change lo

Comments