Understanding Nagle's Algorithm and Why It's Often Disabled
A clear, personal overview of Nagle’s Algorithm, its role in TCP, why it causes unexpected delays, and why developers often disable it.
Understanding Layer 4 vs Layer 7 Load Balancers
Key differences, pros and cons, and implementations of Layer 4 and Layer 7 load balancers in backend networking.
Socket Sharding: Multiple Listeners on the Same Port
Lecture notes on using socket sharding (SO_REUSEPORT) for multiple listeners, acceptors, and readers on one port to improve scalability.
Multiple Threads Accepting on One Socket
Lecture notes on using multiple accepter threads on a single listening socket, discussing how the OS handles accept calls and the trade-offs involved.
Making Backend Requests Safe: Understanding Idempotency
Lecture notes on backend idempotency: how to safely retry requests without duplicating actions, with examples and implementation tips.
Single Listener/Acceptor/Reader Thread Pattern (Node.js Example)
Examining the single listener/acceptor/reader pattern in backend systems using Node.js's single-threaded model.
Thread Execution Patterns: From Single Listener to Load Balanced Workers
Comparing three key backend threading models: basic listener-acceptor-reader separation, multiple reader threads, and advanced message load balancing with worker threads.
Test Input Generation with Java PathFinder
A personal reflection on using Java PathFinder (JPF) to automatically generate test inputs for complex data structures.
118 post articles, 15 pages.