Skip to content

Features

allenxwang edited this page Jan 19, 2013 · 13 revisions

Multiple and pluggable load balancing mechanisms

Ribbon supports round robin, response time weighted and random load balancing mechanisms out of the box. It can be further extended by plug in a customized rule.

Integration with service discovery

Ribbon includes load balancers that are capable of service discovery in a dynamic environment. All you need to do is to implement an interface that returns a list of servers. Integration with Eureka based service discovery is provided in ribbon-eureka.

Built-in failure resiliency

Ribbon can dynamically determine the liveness of servers through the IPing interface and skip servers that are no longer alive. It can further filter the servers based on the circuit breaker pattern.

Cloud enabled

Ribbon provides features that are designed and battle proven for cloud environment. It has knowledge of the “zone” (EC2 term, similar to “rack” in a data center) and can be tuned to filter the servers based on the zone. For example, the “zone affinity” setting enables the load balancer to only return the servers in the same zone, thus reducing the cost of cross zone traffic and speeding up the response time. It can be also configured to dynamically avoid a zone as a whole when it is heavily congested or likely in outage.