Ribbon is a Java library built by Netflix for handling communication between software services running in the cloud. When you have multiple copies of a service running at the same time (to handle more traffic or to stay available if one copy fails), Ribbon helps route requests across those copies automatically. This kind of routing is called load balancing, and Ribbon does it on the client side, meaning the code making the request decides which server to talk to rather than relying on a separate intermediary. Beyond load balancing, Ribbon provides fault tolerance, which means it can retry a request against a different server if one fails. It also supports multiple communication protocols including HTTP, TCP, and UDP. An optional integration with Netflix Eureka (a separate Netflix open-source tool) allows Ribbon to automatically discover which servers are currently available, so the list of targets stays up to date without manual configuration. The library is organized into several modules you can mix and match. There is a core module for configuration, a load-balancer module, a transport module for network communication, and example code to show how things fit together. A deprecated HTTP client module is also present but has been superseded by the main ribbon module. It is worth noting that Netflix has placed Ribbon in maintenance mode. The README explains that internally Netflix moved toward a different architecture and is now building on gRPC, a different communication framework that supports multiple programming languages. Core parts of Ribbon are still running in Netflix's production systems, but the team is not actively adding new features to the open-source version. Pull requests from outside contributors are still reviewed and accepted. Ribbon is aimed at Java developers building distributed backend systems, particularly those already using other Netflix open-source tools like Eureka or Hystrix. The setup involves adding a Maven dependency. Code examples in the README show how to make HTTP calls with built-in retry logic and how to set up a dynamic load balancer connected to a service discovery system.
← netflix on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.