A load balancer story in the real world

Long Vu
3 min readNov 28, 2024

--

A resort has recently opened, showcasing magnificent mountains and beach views.

In the first month, the resort served 5 to 10 tourists daily, so the owner hired only one front desk agent responsible for registering and supporting customer needs. Because the number of tourists was relatively small and didn’t require serving all at once, the check-in/check-out process executed smoothly without claims.

In the second month, the marketing team runs a campaign and makes customers an offer they can’t turn down. Many booking calls come to the resort in a flash. Many tourists check in simultaneously one day, and a single front desk agent is overloaded with a long waitlist. Customer complaints are becoming alarming.

Managers stepped in quickly and commanded to add new desks to serve customers.

Manager: We need people to guide and navigate customers to their desks to ensure that the desks serve customers at their maximum capacity.

The manager hires a line coordinator to support customers.

Line coordinator: …, but, manager, how should I divide customers to each desk?

Manager: Thinking….! Let’s start with the round-robin method. Direct customers to the service desk one after another, beginning with the first desk and continuing to the last.

Line coordinator: I see the employee at desk 3rd processes faster than the rest. Should we add customers to line 3 more than at other desks?

Manager: Why not? You can use the weighted round-robin method that allows you to add customer numbers to each desk differently based on employee at-desk performance.

Line coordinator: We have VIPs coming, sir! Which desk serves them now?

Manager: You should guide the VIPs to the VIP line(a kind of IP hash method).

Line coordinator: Sir, we have a problem. The employee at desk 2 served the customer, and the line is empty now, while I just set the next customer to desk 3. Should I continue with the round-robin to desk 4?

Manager: Another method allows you to be flexible but requires more work. Before assigning a customer to a desk, you need to review the number of customers in line at all desks, find the desk with the fewest customers, and then navigate the next customer to go there (Least connection method).

Manager: Use the above method but with upper performance. You can observe and know the exact employee performance at each desk, and then you can arrange the number of customers differently between each desk(Weighted least connection method).

Line coordinator: That’s interesting! However, I noticed that customers have different needs regarding service. Some people check in quickly, while others want to take their time to ask for more information about the resort’s services. Also, some guests are checking out, requiring more time to inspect the room. How should we handle these?

Manager: Hmmm, it seems more complicated. You need to ask the customer about their needs, coordinate with each desk to determine the processing durations, and finally pick the desk with the least time for the customer(Least response time method).

Line coordinator: I got it. Thank you, sir!

Manager: No problem. I hope you do your job to the best of your ability.

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

Long Vu
Long Vu

Written by Long Vu

Product builder, Engineering Manager, AI enthusiastic

No responses yet

Write a response