Load balancing with Ribbon

We cannot ignore the next Spring Cloud Netflix feature used for client-side load balancing—Ribbon. It supports the most popular protocols such as TCP, UDP, and HTTP. It can be used not only for synchronous REST calls, but also in asynchronous and reactive models. In addition to load balancing, it provides integration with service discovery, caching, batching, and fault tolerance. Ribbon is the next abstraction level over basic HTTP and TCP clients. 

To include it in your project use the spring-cloud-starter-ribbon starter. Ribbon supports round robin, availability filtering, and weighted response time load balancing rules out-of-the-box and can be easily extended with custom defined rules. It is based on the named client concept, where servers included for the load balancing should be provided with a name.