jiahao.blog

08 Oct 2019

Building a simple load balancer in Go

Load balancers are a quintessential tool in backend development. The power to distribute network requests among a fleet of machines to help prevent fires in a data center is crucial in ensuring the survival of our applications. However, as much as it is used in development, it is also a mystery to most developers. And it is understandable why. With the existence of cloud platforms like AWS introducing tools like Elastic Load Balancer, the barrier for entry to integrating load balancers into one’s application has been simplified by magnitudes.

The article takes a step back and teaches readers how they can implement their own load balancers with Go. Explaining the commonly used principles for routing requests among connected machines and how requests are forwarded from one machine to another.

Enjoyed reading?

Consider subscribing to my RSS feed or reaching out to me through email!

I am open to work!

I have graduated from university (as of December 2025) and I am actively looking for entry-level software engineering positions!
I have interned at places like Citadel, Stripe, and Palantir, and deeply enjoy solving user-facing, developer tooling, and infrastructure problems! (resume)
I am a Singapore Citizen so I have access to both the H-1B1 visa for the US and HPI visa for the UK, so visa sponsorship to the US and UK will not be a problem!
If I sound like a fit for your organization, please reach out to me via email and let's chat!

You might enjoy...

21 Oct 2019

Don't Serve Burnt Pizza (And Other Lessons in Building Minimum Lovable Products)

06 Apr 2018

Get a Taste of Lambdas and Get Addicted to Streams