多种语言和客户端负载平衡

时间:2020-04-26 10:54:37

标签: cloudfoundry pivotal-cloud-foundry netflix-ribbon

借助Cloud Foundry功能“ Polyglot”,用于集成服务发现并通过内部路由直接在服务容器之间进行通信,负载平衡如何工作? Cloud Foundry是否在照顾负载平衡?是否有一种方法可以利用客户端负载平衡,例如在启用Polyglot的通信之上的功能区之类的功能?

1 个答案:

答案 0 :(得分:1)

使用容器到容器联网时...

  1. 如果直接连接到IP地址,则不会完成负载平衡。
  2. 如果您使用平台的基于DNS的多语言服务发现,则将通过循环DNS获得有限的负载平衡。

使用多语言服务发现功能,DNS响应被轮换,以便IP在响应中以不同顺序列出。您可以通过执行以下操作来观察/验证这一点:

  • 将内部路由映射到应用
  • 将同一应用扩展为具有两个或更多实例
  • cf ssh运行到任何应用程序容器中
  • 在容器内,运行dig <internal-route>

任意次重复最后一步。您应该看到来自DNS的响应以不同的顺序返回IP地址(它们被轮换使用)。

也就是说,没有什么可以阻止您使用其他形式的负载平衡,无论您已经部署了反向代理应用程序还是客户端(例如Ribbon)。

相关问题