Cloud 对远程网站可用性的哪些期望是合理的?

Cloud 对远程网站可用性的哪些期望是合理的?,cloud,Cloud,背景 我的软件从几个商业(即我们付钱给他们的)第三方网站获取状态信息,这些网站位于远离服务器的海洋中——通常是一个简单的XML文件http获取 当然,我已经开发了代码来处理中断(比如超时)并优雅地降级。我还记录了频率,仅当出现一次以上的网络故障(例如,连续4次故障,或5分钟内5次故障)时才向管理员发出警报 我没有数据供应商提供的任何形式的服务水平协议,或者(毫不奇怪)我们之间的互联网协议 尽管警报被限制,我仍然每天收到很多次,这让我感到惊讶。我没有发现有长达一小时的停机,而只是在30-60分钟左

背景

我的软件从几个商业(即我们付钱给他们的)第三方网站获取状态信息,这些网站位于远离服务器的海洋中——通常是一个简单的XML文件http获取

当然,我已经开发了代码来处理中断(比如超时)并优雅地降级。我还记录了频率,仅当出现一次以上的网络故障(例如,连续4次故障,或5分钟内5次故障)时才向管理员发出警报

我没有数据供应商提供的任何形式的服务水平协议,或者(毫不奇怪)我们之间的互联网协议

尽管警报被限制,我仍然每天收到很多次,这让我感到惊讶。我没有发现有长达一小时的停机,而只是在30-60分钟左右的时间段内,失败的http请求的数量会越来越多,直到它占所有请求的5-8%。我不知道是应该向我的数据供应商、我的互联网供应商投诉,还是接受投诉,因为这就是云中生活的意义所在

我需要校准我的期望值

问题

对于通过典型Internet连接从世界另一端的一个数据中心传输到另一个数据中心的典型http连接,我应该期望什么样的可用性

如果您只考虑暂时中断(例如,通过重试时间固定)而不是主要中断(例如,没有10分钟的连接),并且您还记得正在谈论TCP连接,那么大多数随机分组丢失是隐藏的,期望“三个NIN”是合理的,而不是仅仅接近两个?

(我知道答案在同一子网上的两台机器、调制解调器和3G连接之间会有所不同——我正试图获得典型的现成但商业级的数字。)

对于通过典型Internet连接从世界另一端的一个数据中心传输到另一个数据中心的典型http连接,我应该期望什么样的可用性

您的计算机通过Internet服务提供商连接到Internet

您试图访问的网站通过web托管服务连接到Internet,或者是自托管的

因此,要使HTTP请求访问网站服务器,它必须经过以下步骤:

  • 您的Internet服务提供商的网络
  • 组成Internet的一个或多个路由器
  • web托管服务或web公司网络
这些服务中,您唯一可以控制的是您的互联网服务提供商。我猜您没有与他们签订服务级别协议


您的可用性可能主要取决于web托管服务网络。您遇到的HTTP请求失败不到一个小时的时间段可能表明web托管服务网络因持续维护而停机

谢谢吉尔伯特,我真的明白所有这些。我正在运行的服务器是一个VPS,由位于另一个国家/地区的廉价提供商按月托管。他们通常不在ISP的网络上提供SLA。我没有太多完全停机的问题,只是个别http请求失败了。在一些随机的互联网路由器中,更可能出现网络拥塞,而不是web主机维护。同意这在很大程度上超出了我的控制,这就是为什么我怀疑我需要改变我的期望,而不是真正解决根本问题。