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 / 问题 / 483953
Accepted
Eric Falsken
Eric Falsken
Asked: 2013-03-02 15:22:34 +0800 CST2013-03-02 15:22:34 +0800 CST 2013-03-02 15:22:34 +0800 CST

如何为我的网站创建“失败的鲸鱼”?

  • 772

我有一个网站,我们在几台机器上进行负载平衡。负载平衡器(一个 Brocade ServerIron ADX)在本地网络上。我知道它有能力配置一个“备份”IP地址作为“真实”使用,但它需要在本地网络上。当我的整个环境可能由于 FW、LB 或多服务器故障而离线时,我如何向我的用户提供“失败的鲸鱼”和状态更新消息?由于 DNS 无法提供加权 A 记录备份(如 SRV 记录),我有什么选择?

理想情况下,该解决方案应该能够在我的网站无法访问时自动介入,并通知我的用户我们的响应团队正在解决该问题。

domain-name-system
  • 4 4 个回答
  • 706 Views

4 个回答

  • Voted
  1. Best Answer
    Stefan Lasiewski
    2013-03-02T15:53:17+08:002013-03-02T15:53:17+08:00

    Twitter 的 Fail Whale 比看起来更复杂。众所周知,Twitter 应用程序堆栈(Stacks——Twitter 基础设施中有很多层)非常复杂。Twitter 拥有数千台机器、用各种语言编写的价值多年的代码、十几种不同风格的胶水,以及数百个(如果不是数千个)应用程序可能会出错的地方。您的要求(两台服务器和一个故障页面)要简单得多。

    我只是碰巧在看一个类似的功能——如果所有主要的网络服务器都失败了,我想使用一个备份网络服务器。请注意,这只会在某些故障情况下有所帮助,如果负载均衡器的公共网络出现问题,则无济于事。

    ServerIron ADX 服务器负载平衡指南,第 2 章:“主服务器和备份服务器”部分说:

    主服务器和备份服务器

    真实服务器是主服务器还是备份服务器,具体取决于您添加它的方式:

    • 当对应用程序的客户端请求进行负载平衡时,ServerIron ADX 使用主服务器。它是使用 server real-name-or-ip 命令或 Web 等效命令添加的本地附加服务器。

    • 仅当所有主服务器都无法用于所请求的应用程序时,ServerIron ADX 才会使用备份服务器。它是使用 server remote-name 命令或 Web 等效命令远程连接添加的

    • 7
  2. Michael Hampton
    2013-03-02T15:24:57+08:002013-03-02T15:24:57+08:00

    你让网页设计师制作一个看起来像你想要的文档。

    然后配置负载平衡器以针对 HTTP 500、502、503 和 504 错误提供此文档。具体怎么做会有所不同;检查你的文档。

    一些负载平衡器只是“哑巴”TCP 平衡器,它们转发 TCP 连接并且在第 7 层什么也不做。其他人可以充当完全反向代理(例如 nginx)并且这些能够做你需要的事情。

    从Brocade ServerIron ADX 文档的快速扫描来看,它似乎无法在 HTTP 请求上提供错误文档。虽然它肯定比典型的“哑巴”TCP 转发器更聪明,但它可能不会在这里执行您想要的操作。

    像 nginx 这样的反向代理可以做到这一点,但如果你设置了它,你也可以只替换负载平衡器(因为 nginx 也可以做 HTTP/HTTPS 负载平衡)。

    • 6
  3. Dennis Kaarsemaker
    2013-03-02T15:59:06+08:002013-03-02T15:59:06+08:00

    Twitter 的“失败鲸鱼”并不代表任何这些灾难性的失败,而且它们的创建绝非易事。我能想到的最好的办法是为你的域设置一个低 DNS TTL,一个额外的互联网连接和单独的 IP 空间,只为失败的鲸鱼服务,以及某种在失败时更新你的 A 记录的监控工具。

    现在,除非您计划非常频繁地发生灾难性故障,否则这就太过分了。而且,如果您确实打算经常使用它们,那么您可能做错了:)

    • 3
  4. Jason Martin
    2016-03-21T12:04:34+08:002016-03-21T12:04:34+08:00

    CloudFront 或 Akamai 等 CDN 可以用失败鲸鱼代替错误响应,或者您可以在本地部署一个轻量级代理层来做同样的事情。如果您的网络连接中断,本地解决方案将无济于事,只有 CDN 或远程托管的 DNS 服务器+healthchecker 可以处理。

    • 0

相关问题

  • 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