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

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