首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DNS负载平衡与增量DNS

DNS负载平衡与增量DNS
EN

Server Fault用户
提问于 2011-05-06 09:27:51
回答 3查看 200关注 0票数 2

我对DNS管理等不太了解,但是我了解应用程序编程中的最佳实践。

目前,在我的公司,我们有6台服务器,分别命名为:

  • s1.domain.com
  • s2.domain.com
  • s3.domain.com
  • s4.domain.com
  • s5.domain.com
  • s6.domain.com

这很好。

但是,sysadmin要求我们处理应用程序中的随机端点,这意味着我们需要从这个列表中随机选择一个服务器。

这在我看来很糟糕,因为每当我们需要添加服务器时,我们都需要编辑我们的应用程序(即使它只是一个配置文件),但是我认为应用程序不应该知道这些事情,类似于实体不应该知道持久化服务器。

我的想法是使用dns负载平衡,一个域,指向不同的ip。

一个端点: mobile.domain.com

系统管理员告诉我这是不好的或者类似的东西,但是我相信这是最好的解决方案,更多的是它将允许以后的地理化负载平衡,这是很棒的。顺便说一句,从列表中随机选择服务器并不能阻止服务器关闭,因为随机不是随机的,而且对我来说也没有效率。

谢谢你的反馈,如果你有正反论据,我可以用:)

EN

回答 3

Server Fault用户

回答已采纳

发布于 2011-05-06 10:02:54

DNS循环被普遍认为是一种非常低成本的负载平衡解决方案。确实,在服务器不可用的情况下,需要对DNS进行手动更改。您的DNS更改也确实需要时间来传播(这取决于中间解析器)。

另一方面,与适当的负载平衡器相比,它非常便宜。还有一个复杂的问题。有用于负载平衡的开源解决方案,但它们的设置并不简单,如果出现问题,您(或您的系统管理员)需要有专门知识来修复它。更新DNS区域是相对简单的事情。

除非您的情况是服务的可用性是绝对重要的,或失败的请求(由于DNS延迟)导致严重的收入损失,您最好的选择是DNS循环。

为了分析您需要什么样的负载平衡的问题,您需要确定失败请求的成本。

无论如何,对应用程序的更改,无论是代码还是配置文件,都不是一个好主意,因为这会导致更长的延迟(在传播应用程序更改时)。

票数 1
EN

Server Fault用户

发布于 2011-05-06 09:43:44

我认为您的Sysadmin试图说的是,使用DNS进行负载平衡并不坏,但不方便。您可以将6个IP添加到特定域的DNS中,但是很难管理集群。如果您想要将其中一台机器从旋转中取出,您必须编辑DNS记录并等待它传播。这可以通过设置较低的TTL来处理,但是您不能解释任何不遵循DNS协议的中间解析器。

它更方便有一个负载均衡器,并指出领域到LB和但背后的6个服务器。它允许添加/删除服务器,因为您不必担心DNS传播时间。

票数 2
EN

Server Fault用户

发布于 2011-05-16 14:48:07

虽然Sameer和wolfgangsz所说的对循环来说是正确的,但是他们低估了什么是真正无用的机制的问题,忽略了几个会给您带来痛苦的问题,包括DNS客户端和解析DNS代理缓存,以及在从内容DNS服务器到DNS客户端的过程中缺乏订单保存保证。

如前所述SRV资源记录解决了所有这些问题。您获得了优先级和权重,代理DNS服务器中的缓存不会破坏该优先级和权重。管理员可以使用它们完成您可能最终想要做的事情,如设置回退和主服务器组,指定回退顺序,以及控制单个服务器组的权重。编写客户机代码来选择服务器来使用给定的权重和优先级也并不难。

取决于谁将使用您的应用程序,只有您或者整个世界,您可能必须将您的协议名(在SRV资源记录域名中使用)注册到这一个之类的注册中心。正如你所看到的,其他人已经有了。

正如萨米尔也说过,一个真正的负载平衡器是另一个,也更可取的,替代无用的循环洗牌。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/266947

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档