In load balancing, routing is the process of distributing incoming client requests to a pool of available servers. There are a variety of routing mechanisms available depending on what a specific application or use case requires. While you can pre-configure traffic distribution statically, dynamic routing methods (often called "algorithms") are also available to support applications with more complex needs. 

Routing and traffic distribution are often used interchangeably. It's also widely applicable to various types of applications, whether you're talking about Kubernetes deployments, APIs, or otherwise.

What makes routing useful?

Optimized request routing is key to boosting application performance, scalability, reliability, and security. By ensuring that clients are pointed to the "correct" servers (those that are healthy and have available capacity), organizations can reduce downtime while implementing overload protection. 

Additionally, some routing methods are particularly effective in dynamic infrastructures where servers are regularly added or removed. This also supports the high availability needs of modern applications that serve global clients.

Intelligent routing can also cut costs by making the most of available computing resources. When request routing is optimized, organizations can support more users with fewer servers and reduce overall infrastructure expenditure.

How does HAProxy handle routing? 

HAProxy is a load balancer and reverse proxy that powers application delivery for web applications and APIs. Request routing is central to how our products function, which is why we support over 13 load balancing algorithms and provide CDN functionality via HAProxy Edge. To learn more about routing in HAProxy, check out our load balancing solution page.