为什么像 Ribbon 这样的客户端负载均衡器?

Why client-side load balancers like Ribbon?

Netflix 使用 Ribbon,用他们的话来说就是 "client-side load-balancer"。与传统负载均衡器相比,客户端负载均衡器的用例和优势是什么? Ribbon 和其他 Netflix OSS 服务是 AWS 特定的还是可以在其他环境中使用?

使用客户端负载平衡器的一个原因可能是性能。使用客户端平衡器,您可以通过一个网络跃点直接联系所需的服务(当然是在最初发现之后);使用传统的负载均衡器,您需要两步 - 请参阅我的 unprofessional test.

不幸的是,我对 Netflix OOS 没有那么多经验,我只是从文档中推断出至少 Spring Cloud Netflix 也可以 运行 例如在 Cloud Foundry 上。

正如已经提到的,通过使用 Ribbon,您不需要额外的负载平衡器。如果需要,您还可以为每个客户端配置不同的平衡算法。起初我也有点惊讶,但这确实很有道理。

目前Spring云,大部分使用Netflix OSS,独立于AWS。

我制作了一个小型 POC,如果需要,您可以查看 here