在我的应用程序中,我正在 ping 服务器并等待响应。我正在使用它来确定服务器是否可用且是否响应。
这是确定可用性的可靠方法吗?我假设防火墙可能会过滤 icmp 流量......还有其他缺点吗?有没有更靠谱的方法?
我最近在应用程序停机方面有很多经验,来自供应商和我自己的应用程序。这让我开始思考,并且尽我所能在谷歌上搜索,在停机事件期间没有真正好的或标准的方式来管理客户沟通。
我已经看到这种处理方式有很多,从“责怪除我们之外的所有人”到“我们搞砸了,我们很抱歉”的方法。
所以我的问题是......当你搞砸一个应用程序并导致停机时:
您发现成功的任何其他最佳实践?
我目前正在使用Heroku(使用 AWS)并且我的程序需要与我自己的 EC2 实例进行通信。我已经在与 Herokus 相同的区域中创建了我的 EC2 实例,但是,为了进一步降低成本,我希望能够通过我的 Heroku dyno 和同一可用区中的 EC2 实例之间的私有 IP 地址加入社区。
我知道我可以重新启动 Heroku 以在服务器和可能不同的可用区之间切换,但是,有什么方法可以确定它们是在同一个可用区还是在不同的可用区?
可能我可以编写一个程序,将 Heroku 重新启动到它在同一区域中的程度。
我发现 Azure 可用区的文档有点缺乏有关高可用性的详细信息,因此我希望这里有人了解有关某些未记录行为的详细信息。
当在 Azure 上预配虚拟机(或任何其他区域资源,如磁盘)但未选择可用性选项(本例中为可用区)时,会发生什么情况。如果有三个Zone,它驻留在哪个Zone。在 AWS 上,所有虚拟机都位于某个区域,如果没有其他情况,也是随机的。但是 Azure 上有什么?也是随机的,第四个?没有任何?不包含在区域中的单独数据中心?区域内是否存在不属于任何区域的 Azure 数据中心?
为什么我们可以将(数据)磁盘放置在与我们附加的虚拟机不同的可用区域中?由于磁盘可能距离较远,这是否会导致性能下降?AFAIK,这在 AWS 上甚至是不可能的,例如,EBS 必须与 EC2 实例位于同一区域,并且子网不能跨越不同的区域。
一个域可以在该域注册商处注册大量名称服务器。名称服务器是随机选择的,不像预期的主要第一,次要第二等等。
知道这一点,这是否意味着当一个名称服务器关闭时,有 50% 的机会质疑离线名称服务器的访问者将永远无法访问您的站点?而另外 50% 能够正常浏览到您的站点,从而影响服务器的可用性?
最后,为什么客户端在默认情况下不会在列表中的下一个名称服务器宕机时询问?
这同样适用于 IPv4 和 IPv6。如果其中一个名称服务器仅支持 IPv6 而没有 IPv4,并且没有 IPv6 连接的用户质疑该特定名称服务器,我想该站点将无法访问。
此外,我正在明确地谈论选择权威服务器的方式以及在选择的权威服务器由于停机或客户端与服务器之间的 ipv4-ipv6 不兼容而无法使用的情况下对故障的处理。
设置电子邮件服务器,我想知道,如果它出现故障怎么办。为了不丢失收到的邮件,我是否需要进行冗余设置?或者确保它不会离线超过一天就足够了吗?
我们的一台机器运行 Ubuntu 8.04 LTS。大多数 Ubuntu 软件包升级都是微不足道的,不会对可用性产生太大影响。在应用它们之前,如何判断哪些软件包会导致中断?
availability ×7
amazon-ec2 ×1
azure ×1
domain ×1
email ×1
email-server ×1
heroku ×1
patch ×1
ping ×1
ubuntu ×1