背景
我的软件从一些商业(即我们付钱)第三方网站获取状态信息,这些网站位于远离服务器的海洋 - 通常是一个简单的http文件提取XML文件。
当然,我已经开发了用于处理中断(例如超时)并优雅降级的代码。我还记录频率,并且仅在存在不止一次性网络故障时警告管理员(例如,连续4次故障,或5分钟内5次故障)。我没有的是来自数据供应商的任何形式的服务水平协议,或者(不出所料)我们之间的互联网。
尽管警报受到限制,我仍然每天都会收到很多次,我觉得很惊讶。我没有发现有长达一小时的停机时间,但仅仅是大约30-60分钟的时间段,其中失败的http请求数量变得更高 - 直到它占所有请求的5-8%。我不知道是否向我的数据供应商,我的互联网服务提供商抱怨,或者是因为这就是生活在云端的内容。
我需要校准我的期望。
问题
对于典型的http连接,通过从世界另一端的一个数据中心到另一个数据中心的典型Internet连接,我应该期待什么样的可用性?
如果您只考虑临时中断(例如,在您重试时修复)而不是主要中断(例如10分钟以上没有连接)并且您记得正在谈论TCP连接,那么大多数随机数据包丢失都是隐藏的,是期待“三个九”,而不仅仅是接近两个,这是合理的吗?
(我很欣赏同一个子网上的两台机器与一台调制解调器之间的答案不同,而不是3G连接 - 我试图获得典型的现成但商业级的数字。)
答案 0 :(得分:0)
对于通过典型互联网连接的典型http连接,从世界另一端的一个数据中心到另一个数据中心,我应该期待什么样的可用性?
您的计算机通过Internet服务提供商连接到Internet。
您尝试访问的网站通过网络托管服务连接到互联网,或者是自托管的。
因此,对于要访问网站服务器的HTTP请求,必须通过:
您可以控制的这些服务中唯一一项是您的Internet服务提供商。我猜你没有与他们达成服务水平协议。
您的可用性可能主要取决于网络托管服务网络。您遇到的HTTP请求失败的不到一小时的时间段可能表明Web主机服务网络因持续维护而停机的时间。