tuanhnet.hashnode.devEvent Sourcing Fits: When Should You Use It (and When You Shouldn’t)?Source: Event Sourcing Fits: When Should You Use It (and When You Shouldn’t)? 1. The quiet problem Event Sourcing actually solves Most systems don’t fail because they “can’t store data.” They fail because they can’t explain data. Someone chang...21h ago·13 min read
tuanhnet.hashnode.devDesign an Elasticsearch-Style Search Engine: How Does It Actually Work?Source: Design an Elasticsearch-Style Search Engine: How Does It Actually Work? 1. Why “search” is not just a fancy SELECT … LIKE '%keyword%' Most teams first meet “search” the same way they meet gym memberships: with optimism, a free trial, a...1d ago·15 min read
tuanhnet.hashnode.devHow to Build a 3-Tier Caching Stack with CDN + Redis + Local Cache (Without Lying to Users)Source: How to Build a 3-Tier Caching Stack with CDN + Redis + Local Cache (Without Lying to Users) 1. The indirect problem you’re actually solving Most teams don’t wake up and say, “Let’s add Redis and a CDN today.” What usually happens is su...2d ago·11 min read
tuanhnet.hashnode.devWays to Design a Real-Time Chat System That Can Hold 1,000,000 Concurrent ConnectionsSource: Ways to Design a Real-Time Chat System That Can Hold 1,000,000 Concurrent Connections 1. The mindset shift: you’re not scaling requests, you’re scaling relationships If you’ve built high-throughput REST APIs, your instincts are probabl...4d ago·14 min read
tuanhnet.hashnode.devToken Bucket or Leaky Bucket Rate Limiter Is the Difference Between “Scales” and “Falls Over”Source: Token Bucket or Leaky Bucket Rate Limiter Is the Difference Between “Scales” and “Falls Over” 1. The real reason rate limiting exists (and why it’s not just “anti-DDoS”) Rate limiting is one of those “boring” building blocks that quiet...5d ago·15 min read