Sitemap - 2022 - Arpit’s Newsletter
How Booking.com built an highly available User Review System
Overview of Discord's data platform that daily processes petabytes of data and trillion points
How Airbnb designed and scaled its central authorization system - Himeji
How Gojek masks and keeps users' phone numbers secure at scale?
How Yelp built and scaled their (near) Realtime Search
Serving billion GIFs every single day
How Dropbox efficiently serves and renders a large number of thumbnails
Real-time data aggregation for DynamoDB
How Razorpay scaled their notification system
Building a hyper-personalized type-ahead search
The Architecture of Pinterest's Time Series Database - Goku
The Architecture of Airbnb's Knowledge Graph
How Swiggy designed and scaled its chatbot
How Instagram efficiently serves HashTags
Exploiting and stealing from the BitTorrent network
Kademlia - a Distributed Hash Table implementation to power the overlay network of BitTorrent
The Piece Selection algorithm that makes BitTorrent fault tolerant
The Choke Algorithm that powers BitTorrent
Overview of the BitTorrent architecture
Understanding the Torrent File Format and Bencoding
Introduction to BitTorrent and the problem it beautifully solves
Implementing Hash Maps with Hash Tables
Implementing Hash Sets with Hash Tables
Implementing Resize of a Hash Table
Why are Hash Tables always doubled?
Getting the best performance from the Hash Table
Double Hashing for Conflict Resolution in Hash Tables
Quadratic Probing for Conflict Resolution in Hash Tables
Linear Probing for Conflict Resolution in Hash Tables
Conflict Resolution in Hash Tables with Open Addressing
Conflict Resolution in Hash Tables with Chaining
Internal Structure of a Hash Table
So, the outage is mitigated, now what?
Control an outage by localizing the failures
BFF - Backend for Frontend - Pattern in Microservices
Dissecting GitHub Outage - Multiple Leaders in Zookeeper Cluster
Dissecting GitHub Outage - How databases are managed in production
Best practices that make microservices integration easy
Dissecting GitHub Outage - Downtime due to Rate Limiter
Dissecting GitHub Outage - When master failover failed
Things to remember while building Microservices
Why should we have a standard way of building Microservices?
10 Challenges in Adopting and Implementing Microservices
Dissecting GitHub Outage - Downtime GitHub thought they avoided
API Composition Pattern in Microservices
Dissecting GitHub Outage Downtime due to creating an Index
Dissecting GitHub Outage - Repository Creation Failed due to secret scanning service
Database per Service Pattern in Microservices
An in-depth introduction to Rolling Deployments
Implementing Vertical Sharding
Dissecting GitHub Outage: Downtime due to an Edge Case
Why caching would not speed up Mark-and-Sweep GC?
An in-depth introduction to Blue Green Deployments
An in-depth introduction to Canary Deployments
Introduction to Remote Procedure Calls
Designing Workflows in Microservices - Orchestration vs Choreography
ALTER TABLE taking down GitHub
Tricolor Abstraction to build concurrent Garbage Collectors
Synchronous and Asynchronous Communication between Microservices
Introduction to Serverless Computing and Architecture
Mark-and-Sweep Garbage Collection Algorithm
Shared Database Pattern in Microservices
Difference between Sharding and Partitioning
How to pick a garbage collector?
An in-depth introduction to Rate Limiting
Engineering deep-dive into Atlassian's Mega Outage of April 2022
How to approach System Design?
Why do programming languages need garbage collection?
Here's why you should adopt microservices
Building a Robust Payments Service
Should you send payload in an HTTP GET request?
Dissecting Google Maps Outage: Cascading Failures
Implementing Distributed Transactions in Golang
Distributed Transactions to guarantee 10-min food and grocery delivery
A gentle introduction to Embedded Databases
What happens when MySQL auto-incrementing ID hits its limit?
Database reliability with write-ahead logging
Handling timeouts in a microservice architecture
How do indexes make databases read faster?
How to handle database outages?
Genetic Algorithm to solve the Knapsack Problem
Pseudorandom Number Generation using LFSR
Local and Global Indexing in Partitioned Data
Hash-Based and Range-Based Data Partitioning