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

Spring Cloud负载平衡和虚拟客户端

吕子真
2023-03-14

我一直在使用spring-clound-openfeign,Consul作为服务注册表,Ribbon作为负载均衡器。我目前正在使用spring-boot 2.3.10。释放。

我真的很喜欢spring-blod-feign-继承支持,在我的理解中,它允许我编写服务器端和客户端使用的单个接口。

https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-feign.html#spring-cloud-feign-inheritance

从Spring护套<代码>2.4。从x开始,spring团队建议更换Ribbon,因为Ribbon不再维护。

如果我有一个界面,可以说:


interface Greeting {
   @GetMapping
   String hello(String name);
}

通过使用Spring Openfeign Ribbon Consor,我可以扩展它:


@FeignClient(name="my-service-id")
interface GreetingClient extends Greeting { }

这样我就有了一个具有负载平衡功能的客户端实现。

我仍然可以使用spring-clold-loadbalancer完成与spring-Cloud-openfeign相同的结果吗?或者我真的需要使用RestTemplateDiscoveryClient来获得我的API的客户端?

全面了解这一点将受到高度赞赏,因为我在其他地方都找不到明智的答案。

共有1个答案

章光华
2023-03-14

如果你想像ribbon一样工作,需要将spring cloud loadbalancer连接到Consor。您可以阅读如何将spring cloud Loadbalancer连接到Consor链接https://docs.spring.io/spring-cloud-commons/docs/current/reference/html/#serviceregistry

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

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

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

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

  • 我有两条溪流。一个是事件流,另一个是数据库更新流。我想用从DB更新流构建的信息丰富事件流。 事件流非常庞大,使用5个字段进行分区。这给了我很好的分配。DB流不那么喋喋不休,并且使用两个字段进行分区。我目前正在使用两个公共字段连接这两个流,并使用flapMap来丰富第一个流。flatMap运算符使用ValueState维护状态,状态由两个公共字段自动键入。 除了实现自定义逻辑来手动提取键并更新维护状

  • 我是微服务的新手。(学习阶段)。我有一个问题。我们在云中部署微服务。(例如 AWS)。云已经提供了负载平衡和日志。我们还在Spring Boot中实现了负载平衡(功能区)和日志(Rabbit MQ和Zipkin)。这两种实现有什么区别?我们两者都需要吗?有些人可以回答这些问题吗? 提前感谢。