AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 407546
Accepted
Andrew Smith
Andrew Smith
Asked: 2012-07-14 07:19:00 +0800 CST2012-07-14 07:19:00 +0800 CST 2012-07-14 07:19:00 +0800 CST

具有粘性会话和安全性的 20 多台服务器的 DNS 负载平衡

  • 772

我在 1 个位置有 20 台服务器,我想进行负载平衡。这在任何情况下都可以达到 100。有没有已知的方法可以做到这一点?我还想有某种机制,当客户查询例如 service.example.com 时,他将继续使用同一台服务器,直到机器因故障而从集群中取出。客户端每分钟进行一次 DNS 查询,假设自上而下的 DNS 记录 TTL 为 30-60 秒,而其他人可以为 24 小时左右,因此每次会话在初始查询后最多可有效 24 小时,然后客户将被切换到另一个服务器。

我发现 L4-L7 负载平衡器非常无用,因为我认为我可以只使用 DNS。

这些协议是仅基于二进制的 TCP 连接以及 HTTP 连接。

我在想对于二进制连接(就像没有任何协议),我可以在 DNS 上使用循环,所以每次查询 DNS 时,我都会得到不同的响应。

对于 HTTP,这是我不知道的事情。我可以放 HAProxy,仅此而已,但对于 DNS,我不确定。

我曾经想过以下方法。将客户发送到某个“master.example.com”,这是一个只进行重定向的 HTTP 服务器,它将生成具有唯一 ID 的 FQDN,这意味着它就像一个会话 ID。这样,这个 FQDN 将始终解析为相同的 ip 号码,并且只能用于查询它的 ip,在接下来的 24 小时或永远直到服务器关闭。

所以这看起来像下面这样:

http://redirect.example.com/resource => http://67hkkdbvh.example.com/resource

现在会话看起来像这样:

1st minute: http://67hkkdbvh.example.com/resource/1 TTL 60s
2nd minute: http://67hkkdbvh.example.com/resource/2 TTL 60s

如果 67hkkdbvh 将死亡,客户将再次请求重定向。

现在我不确定如何使用 HAProxy 来帮助它???

domain-name-system load-balancing
  • 3 3 个回答
  • 3679 Views

3 个回答

  • Voted
  1. Best Answer
    Chopper3
    2012-07-14T07:24:14+08:002012-07-14T07:24:14+08:00

    当然,您可以使用 DNS,但我更喜欢使用适当的负载平衡器(我使用 Zeus Traffic Managers——现在称为 Riverbed Stingrays——和 Cisco ACE),它们不仅可以很好地扩展,而且你可以设置它们来探测实际的服务器响应,而不是只是 ping 或什么都没有,因此您可以在不进行更改的情况下停止服务。虽然不是免费的。

    • 3
  2. AliGibbs
    2012-07-14T07:40:15+08:002012-07-14T07:40:15+08:00

    听起来您想复制负载均衡器的确切工作方式,所以真正的问题是:负载均衡器做什么/不做什么您想要/不想要的?

    • 2
  3. pQd
    2012-07-14T07:27:50+08:002012-07-14T07:27:50+08:00

    您是否尝试查看haproxy?似乎 stackexchange正在使用它。这在 HA 集群中可以是更优雅的解决方案,将为您提供故障转移功能。

    • 1

相关问题

  • Solaris DNS

  • resolv.conf 在经过一段时间后被更改

  • 为什么有些网站的网址中没有“www”就无法显示?[关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve