Archive of posts with category 'web'
How to Configure Applications for High Availability in Kubernetes
Pods are ephemeral. Stay available with graceful SIGTERM handling, health probes, PodDisruptionBudgets, anti-affinity, autoscaling, and monitoring.
Service API Changes: Prefer Blue-green Update to Rolling Update
Kubernetes rolling updates mix old and new servers, so API changes must be forward compatible too. Blue-green updates need only backward compatibility.
JWT + Third-party Oauth in Single Page App
Returning a JWT to a single page app after OAuth login: why session cookies and URL params fall short, and a tiny HTML page that saves it to localStorage.
System Design Interview: Scaling Single Server
Scaling past one server: stateless API servers, sharded memory caches, consistent hashing, Raft or Paxos replication, and DNS to balance load balancers.
Killer Apps of Message Queues
When message queues beat RPC: absorbing traffic spikes with pull-based flow control, pub/sub to cut reverse dependencies, and async results for slow calls.
Session Consistency in Replicated Frontend Servers
Keeping HTTP sessions consistent behind a reverse proxy: gossip sync, consistent hashing, cookies, and why stateless frontends with durable storage win.
Pagination Ordered by Secondary Keys on Sharded Stores
Offset/limit breaks when a table is sharded by primary key but sorted by time or price. Three fixes: external merging, next-page only, and lookup twice.
Kip’s Warehouse: Building Scalable, Reliable, Consistent Web Application from the Ground Up
Building an inventory management app for Duke ECE labs with React, Node.js, Express and MySQL, and why Sequelize transactions became a debugging headache.
Service-Oriented Architecture: Why did Microservices Catch On
What a service tier fixes: duplicated SQL, cache changes forcing every server to upgrade, coupled library versions, and one full scan hogging the DB.