小编Ala*_*lan的帖子

在多个静态文件服务器之间进行负载平衡以实现带宽分配的最佳方法?

首先,我将向您说明我的情况。我正在运行一个相当受欢迎的网站作为一个副项目,所以我不能真正投入大量资金。我目前只有一台带有 HAProxy 的服务器在前端向 Apache 发送正常请求,向 Lighttpd 发送所有静态文件请求。这非常有效,因为所有 php 和 post 请求都由 Apache 处理,而所有图像都发送到更快的 Lighttpd(该站点主要是图像,所以这非常重要)。不必为提供图像而设置子域会很好,因为短 URL 也非常重要,因此我使用 HAProxy 的原因。

我找到了一个托管服务提供商,它提供了我一直在使用的非常便宜的未计量带宽,当我开始推出 100mbs 网卡可以处理的带宽时,问题就出现了,因此需要第二台服务器。

我已经考虑了很多我的选择,所以我会向你解释每一个。希望您能提供一些见解,了解哪个对我来说是最好的选择,或者也许还有另一种我还没有想到的选择。

要求:

  • 甚至带宽分配也是必须的。我有一个非常强大的服务器,所以不能选择扩展。我需要向外扩展以获得更多带宽。

  • 短网址。我真的不想设置子域,比如 img.example.com,来提供我的图像。example.com/image.jpg 是现在的样子,我真的希望它留下来。但如果没有其他办法,那我就明白了。

  • 处理请求的最近服务器会非常好,但不是必须的。要记住的事情。

HAProxy 负载均衡:

  • 这真的很容易做到,因为我已经在使用 HAProxy 了。但是,我认为分配带宽时会出现问题。我在这方面可能是错的,但是 HAProxy 不会将请求发送到服务器处理它的服务器,然后通过 HAProxy 将其发送回客户端吗?因此,所有流量都通过负载平衡器返回,导致它使用的带宽与所有服务器的总和一样多。

DNS 循环:

  • 这可能是我最好的选择。只需在多台服务器上复制网站,然后做我现在正在做的事情。缺点是如果一台服务器出现故障,客户端仍会被发送到它。我还需要在多台服务器上复制站点。我有点希望我可以有一个主服务器来处理除静态文件之外的所有内容,然后有几个静态文件服务器。我还读到这是一种“穷人的负载平衡”,如果有一些更复杂的东西会很好。

直接服务器返回:

  • 这看起来很复杂,但可能是一个不错的选择。我还能将某些 URL 发送到某些服务器吗?就像现在的 HAProxy 一样,每个以正确文件扩展名结尾的 URL 都被发送到 Lighttpd,而其他扩展名则被发送到 Apache。所以我需要类似的东西。就像,所有 php 请求都由运行平衡软件的同一台服务器处理,而所有 jpg 请求都发送到多个服务器。

理想情况下,如果 HAProxy 支持 Direct Server Return,那么我的问题就可以解决了。我也不想使用 CDN,因为它们真的很贵,毕竟这只是一个副项目。

你明白我的问题吗?如果我没有解释正确或者您需要更多信息,请告诉我。

bandwidth cluster load-balancing haproxy

12
推荐指数
1
解决办法
1万
查看次数

基于 URL 的 Apache 带宽限制

我正在托管一个图像共享站点,但我似乎遇到了一个不寻常的问题。我使用 Apache 模块 mod_rewrite 使每个图像的所有 url 比其他方式短得多,但这似乎阻止了其他模块(例如 mod_bw 或 mod_bandwidth)工作,因为用户在技术上并未请求下载文件.

当有人上传 2mb 动画 gif 时会出现我的问题。有时 gif 会窃取服务器的所有带宽并使我的网站无用。我需要一种方法来检测用户何时想要查看 gif,然后将他们的速度限制在更合理的范围内。

我可以考虑这样做的唯一方法是,是否有一些 Apache 模块检测到 url 末尾的 .gif,然后启动带宽限制。这甚至可能吗?或者我还能做些什么?

bandwidth apache-2.2

5
推荐指数
1
解决办法
1319
查看次数

标签 统计

bandwidth ×2

apache-2.2 ×1

cluster ×1

haproxy ×1

load-balancing ×1