Ribbon 介绍
Ribbon plays a critical role in supporting inter-process communication in the cloud. The library includes the Netflix client side load balancers and clients for middle tier services.
Ribbon 是 Netflix 发布的云中间层服务开源项目,其主要功能是提供客户侧软件负载均衡算法,将 Netflix 的中间层服务连接在一起。
Ribbon provides the following features:
Multiple and pluggable load balancing rules
Integration with service discovery
Built-in failure resiliency
Cloud enabled
Clients integrated with load balancers
Archaius configuration driven client factory
负载均衡插件
发现服务
对 Cloud 平台的支持:比如对 AWS 来说,有参数支持只返回同一个 zone 的服务器地址,这样避免跨 zone 调用所引起的网络延时;
故障恢复能力:可以将一些不可用的服务器剔除。
There are three sub projects:
ribbon-core: includes load balancer and client interface definitions, common load balancer implementations, integration of client with load balancers and client factory.
ribbon-eureka: includes load balancer implementations based on Eureka client, which is the library for service registration and discovery.
ribbon-httpclient: includes the JSR-311 based implementation of REST client integrated with load balancers.