Webserver 网站分区和URL空间

Webserver 网站分区和URL空间,webserver,load-balancing,partitioning,website-hosting,Webserver,Load Balancing,Partitioning,Website Hosting,我的网站正在成长。我需要将功能集划分到不同的服务器组,而不是在单个服务器副本上运行所有功能。我在Windows网络负载平衡设置中有8台相同的服务器 问题是:我需要保持URL空间不变。什么是可行的解决方案?我不想为功能集启动新域。我在考虑某种反向代理,它具有一些基于URL的重写/路由功能(?!?)。在软件或硬件方面有什么建议吗?这将取代WNLB设置,因为它没有我需要的功能。确实有几种解决方案可以实现负载平衡: DNS循环 DNS负载平衡(使用LBS命名) 代理循环 硬件/TCP循环 我知道1)和2

我的网站正在成长。我需要将功能集划分到不同的服务器组,而不是在单个服务器副本上运行所有功能。我在Windows网络负载平衡设置中有8台相同的服务器


问题是:我需要保持URL空间不变。什么是可行的解决方案?我不想为功能集启动新域。我在考虑某种反向代理,它具有一些基于URL的重写/路由功能(?!?)。在软件或硬件方面有什么建议吗?这将取代WNLB设置,因为它没有我需要的功能。

确实有几种解决方案可以实现负载平衡:

  • DNS循环
  • DNS负载平衡(使用LBS命名)
  • 代理循环
  • 硬件/TCP循环
  • 我知道1)和2)不是这里的选项,所以。。。如果你有钱并且需要真正的高性能,那么选择4)。否则,选择3)

    同样,对于代理循环,有几种解决方案是可能的:,(当然还有许多我不知道的其他解决方案)

    • 对于“哑”负载平衡,Apache mod_rewrite中有一个例子(参见代理吞吐量循环部分)

    • Apache mod_proxy可以充当将客户端连接到internet的代理,但通常用作反向代理,将url重定向到另一台服务器。它没有缓存功能(但可以与mod_缓存和mod_重写一起使用…)

    • Squid是一种代理缓存,通常用于将客户端连接到internet。但它也可以用作反向代理,并配置为缓存请求和加速内容交付

    如您所见,选择其中一个取决于您希望代理的内容和方式。在你的情况下,如果你想在Linux上缓存(如果它是一个选项),我会考虑运行Apache MMOTHyPro或枪乌贼。p>
    关于硬件,我不是专家,但我认为一个“小型”到“中型”的专用服务器就足够了。只是别忘了所有的请求都会通过这台机器,所以它的大小很大程度上取决于你的流量,这看起来很不错。这可能需要对现实生活中的数据进行一些挖掘

    如果您有8台服务器,我建议使用其中的7台来分担工作负载,并使用一台前端服务器作为代理

    前端服务器可以运行Apache并使用mod_代理将每个HTTP请求委托给7个后端服务器中的一个。如果需要,您可以设置mod_proxy以根据传入的URL委派工作,这样您就可以,例如,让一台服务器提供视频,两台服务器提供博客条目,其余的服务器执行其他任何操作

    您的前端服务器将非常轻:只运行Apache和其他一些。您还可以使用Squid或Apache的mod_缓存将静态内容缓存在此前端服务器上,以便在缓存后,对图像、js、css和其他静态内容的请求永远不会命中后端7服务器

    编辑:我刚去看了帕斯卡的评论,他也提出了同样的建议。我会调整他+1