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

spring-cloud和ribbon能执行基于DNS的负载均衡吗?

谭向晨
2023-03-14

Cloudfoundry计划添加对映射到多个IP(每个应用程序容器实例一个)的DNS A记录的支持,请参阅文档提案。我想知道结合ribbon的spring云发现是否可以支持基于DNS的客户端负载平衡。

spring云DiscoveryClient似乎不执行DNS解析,它管理主机名

功能区负载平衡库通过“服务器列表”属性支持 FQDN 列表。

但是我无法发现与指定服务器的DNS查找相关的文档:即,如果DNS A / AAA记录(从服务器列表中提取)返回多个IP地址,功能区是否会在IP地址之间进行负载平衡?

我需要在哪里配置 DNS 缓存指令?这是JAVA.security支持中的JVM范围,还是我可以将其作为客户端幻灯片负载平衡选项(从功能区)进行管理?

共有2个答案

楚宏胜
2023-03-14

如果您使用的是Spring云尤里卡服务,则每个服务实例都会在尤里卡注册。这意味着您可以在同一主机上托管同一服务的多个实例,并且eureka知道每个服务。

如果您使用功能区进行基于客户端的负载平衡,则功能区会查询 eureka 以获取服务的所有实例,并知道服务的每个实例。

这样,功能区可以选择连接到每个实例。因此,不需要多个 DNS A 记录。使用多个 DNS A 记录会适得其反,因为功能区无法再通过 DNS 区分服务的多个实例。在这种情况下,我建议将“首选项”设置为“真”,以区分多个实例。

据我所知,ribbon支持两种工作模式,RoundRobinRule和AvailabilityFilteringRule。

你可以在《Spring微服务》一书中找到很好的介绍。

高夜洛
2023-03-14

Ribbon不执行任何DNS查找,它按原样返回服务器列表中的条目(IP或名称)。

您不需要Ribbon来实现基于DNS的负载平衡;操作系统解析器将在每次查找的可用IP地址之间旋转。只要确保不要缓存DNS。

为了实现更复杂的负载平衡,您需要将DNS解析为IP列表,然后将其传递给Ribbon。

 类似资料:
  • 本文向大家介绍Spring Cloud Ribbon负载均衡器处理方法,包括了Spring Cloud Ribbon负载均衡器处理方法的使用技巧和注意事项,需要的朋友参考一下 接下来撸一撸负载均衡器的内部,看看是如何获取服务实例,获取以后做了哪些处理,处理后又是如何选取服务实例的。 分成三个部分来撸: 配置 获取服务 选择服务 配置 在上一篇《撸一撸Spring Cloud Ribbon的原理》的

  • 本文向大家介绍Spring Cloud 负载均衡器 Ribbon原理及实现,包括了Spring Cloud 负载均衡器 Ribbon原理及实现的使用技巧和注意事项,需要的朋友参考一下 Ribbon简介 分布式系统中,各个微服务会部署多个实例,如何将服务消费者均匀分摊到多个服务提供者实例上,就要使用到负载均衡器 Ribbon 是负载均衡器 ,它提供了很多负载均衡算法,例如轮询、随即等,在配置服务提供

  • 本文向大家介绍Spring Cloud Ribbon实现客户端负载均衡的方法,包括了Spring Cloud Ribbon实现客户端负载均衡的方法的使用技巧和注意事项,需要的朋友参考一下 简介 我们继续以之前博客的代码为基础,增加Ribbon组件来提供客户端负载均衡。负载均衡是实现高并发、高性能、可伸缩服务的重要组成部分,它可以把请求分散到一个集群中不同的服务器中,以减轻每个服务器的负担。客户端负

  • 本文向大家介绍Spring Cloud Ribbon实现客户端负载均衡的示例,包括了Spring Cloud Ribbon实现客户端负载均衡的示例的使用技巧和注意事项,需要的朋友参考一下 前面我们已经完成了注册中心和服务提供者两个基础组件。本文就介绍使用Spring Cloud Ribbon在客户端负载均衡的调用服务。  对于大型应用系统负载均衡(LB:Load Balancing)是首要被解决一

  • 本文向大家介绍详解spring cloud中使用Ribbon实现客户端的软负载均衡,包括了详解spring cloud中使用Ribbon实现客户端的软负载均衡的使用技巧和注意事项,需要的朋友参考一下 开篇 本例是在springboot整合H2内存数据库,实现单元测试与数据库无关性和使用RestTemplate消费spring boot的Restful服务两个示例的基础上改造而来 在使用RestTe

  • 本文向大家介绍详解Spring Cloud负载均衡重要组件Ribbon中重要类的用法,包括了详解Spring Cloud负载均衡重要组件Ribbon中重要类的用法的使用技巧和注意事项,需要的朋友参考一下 Ribbon是Spring Cloud Netflix全家桶中负责负载均衡的组件,它是一组类库的集合。通过Ribbon,程序员能在不涉及到具体实现细节的基础上“透明”地用到负载均衡,而不必在项目里