引导 http 流量

引导 http 流量

我遇到这样一种情况,一大批服务器(X)需要根据需要向一组较小的 Web 服务器(Y)请求数据。

最糟糕的情况是,如果 X 中的所有服务器都决定将不同的请求发送到 Y 中的一台服务器。那将是 X 数量的连接,可能会产生非常大的流量突发。最好的情况是,如果 X 中的一台服务器同时访问 Y 中的一台服务器。生活不是这样的。

一个值得考虑的想法是在 X 和 Y 之间放置一个类似于 squid 的代理。所有 X 服务器都可以连接到此代理,但会导致与 Y 的几个持久(http keepalive)连接。如果少数几个是 3 或 4 个,那么它会形成漏斗。如果我们可以对这些连接进行速率限制,并且流量决定异常高,我们不会伤害任何人,只会伤害我们自己。

有什么想法吗?

答案1

你考虑过负载平衡吗?有多种技术可以实现这一点。我偏爱的是低压开关柜但其他适用于 Web 服务器负载平衡的解决方案包括..

LVS 有不同的调度程序,它精确指定了如何处理连接。它也非常轻量,我在处理高流量网站流量的小型商品硬件上运行它。

答案2

看一下nginx在反向代理/缓存配置中,或者如果你更喜欢 Apache,Apache2 +mod_proxymod_proxy_balancermod_cache

相关内容