当前位置: 首页 > 知识库问答 >
问题:

多语言和客户端负载平衡

阴礼骞
2023-03-14

使用Cloud Foundry功能“Polyglot”集成服务发现和通过内部路由在服务容器之间直接通信,负载平衡如何工作?Cloud Foundry是否负责负载平衡?有没有一种方法可以利用客户端负载平衡,比如在这种支持Polyglot的通信之上使用Ribbon?

共有1个答案

卫琛
2023-03-14

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

    < li >如果您直接连接到IP地址,则不会进行负载平衡。 < li >如果您使用平台的基于DNS的多语言服务发现,那么您将通过循环DNS获得有限的负载平衡。

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

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

重复最后一步多次。您应该会看到来自DNS的响应以不同的顺序返回IP地址(它们是旋转的)。

也就是说,没有什么可以阻止您使用不同形式的负载平衡,无论是您部署的反向代理应用程序还是Ribbon等客户端。

 类似资料:
  • 我在kubernetes pods中使用带有Python的gRPC作为客户端/服务器......我希望能够启动多个相同类型的pod(gRPC服务器)并让客户端(随机)连接到它们。 我调度了10个服务器吊舱,并设置了一个“服务”来瞄准它们。然后,在客户端,我连接到服务的DNS名称——这意味着kubernetes应该进行负载平衡,并将我指向一个随机服务器pod。实际上,客户机调用gRPC函数(这很有效

  • 在花了几个小时阅读Http客户机文档和源代码后,我决定在这里寻求帮助。 我有一个使用循环算法的负载均衡服务器

  • Ribbon是一个客户端负载均衡器,它可以很好地控制HTTP和TCP客户端的行为。Feign已经使用Ribbon,所以如果您使用@FeignClient,则本节也适用。 Ribbon中的中心概念是指定客户端的概念。每个负载平衡器是组合的组合的一部分,它们一起工作以根据需要联系远程服务器,并且集合具有您将其作为应用程序开发人员(例如使用@FeignClient注释)的名称。Spring Cloud使

  • 我一直在使用,Consul作为服务注册表,Ribbon作为负载均衡器。我目前正在使用spring-boot 2.3.10。释放。 我真的很喜欢spring-blod-feign-继承支持,在我的理解中,它允许我编写服务器端和客户端使用的单个接口。 https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-feign.

  • ★表示该语言的推荐客户端。 ActionScript as3redis Repository cwahlers C hiredis ★ Repository antirez pnoordhuis 这是官方的C语言客户端。支持全部的set命令,管道,事件驱动编程 credis Repository libredis Repository 通过poll,ketama哈希支持在多服务器上并行执行命令 C

  • 我有一个基本的烧瓶应用程序上传图像文件到服务器,然后在网页上渲染。当多个客户端上传时,在当前的设计中,它们最终覆盖相同的静态资产。当在flask中处理来自多个客户端的上传时,最好的方法是什么?