高负载下的退化服务

高负载下的退化服务

如果你想提供服务,但在高负载时关闭一些功能……你会怎么做?例如,Twitter 在服务器高负载时关闭与客户相关的信息流

答案1

我们(以及 BBC 和 BAA)使用一种称为中兴通讯正是出于这个原因,我从 Zeus 那里购买了这款软件。它非常昂贵,我讨厌他们的销售人员/态度,但可以设置(与一些代码更改一起)以“去动态化”(不是真正的词)网络响应 - 因此,随着您的网站变得越来越繁忙,响应将变得越来越通用。BBC 尤其很好地利用了这一点,下次发生重大新闻事件时,看看他们的新闻网站,图像突然变得静态,更容易缓存,文本、滚动内容等也是如此。基本上,您可以让 ZXTM 在加载时跳过 div 或许多其他内容。它确实有效,但就像我说的非常昂贵。

答案2

您必须将此功能构建到代码中,以便它可以查询您的服务器,或者某些监控软件可以提醒您的软件注意高负载问题。然后,当它达到某个阈值时,让您的软件禁用其自身的一部分。您不会找到可以做到这一点的现成东西,它怎么知道该如何处理您的软件呢?

许多监控解决方案在达到阈值时都会调用脚本,从而使您的软件进行适应。

相关内容