负载平衡器后面的服务器

我们有一个CISCO硬件负载均衡器,后面有两个Web服务器。 我们希望强制某些url只能由其中一台机器提供服务。

首先,负载平衡器的工作是什么? 或者更好的方法是创build一个像http://assets.example.com这样的子域,这个子域将被自动路由到其中一台服务器上?

是的,如果你愿意的话,你可以这样做,但是如果你确定要这样做,那么为什么不把DNS条目分配给特定的服务器IP而不是集群VIP呢?

如果没有特定的型号信息,那么负载均衡器可以优雅地使特定的服务器进入和退出服务状态。 这是使用负载均衡器的原因之一。 负载平衡器是反向代理(最简单的forms),但通常会添加额外的function(第7层路由,健康检查等)。 使用负载平衡器使服务器停止服务通常非常简单。

这通常是反向代理的工作,如果您不使用单独的域,我不确定是否CISCO硬件平衡器这样做。 Apache和Nginx可以用作反向代理服务器,而且你可以使用正则expression式来redirect与特定服务器相匹配的东西。

我会推荐其他域名(assets.example.com),假设你正在谈论静态内容。 这恰好是使用sstatic.net进行静态内容的stackoverflow 处理 。

第二个领域的一些优势:

  • 你不需要在域名上使用静态内容的cookies,这样可以节省一些开销( 雅虎在这里 , 谷歌在这里blurb )。 来自sstatic.net:

    如果您的域名是www.example.org,您可以在static.example.org上托pipe您的静态组件。 但是,如果您已经在顶级域example.org上设置了cookie,而不是www.example.org,那么对static.example.org的所有请求都将包含这些cookie。 在这种情况下,您可以购买一个全新的域名,在那里托pipe您的静态组件,并保持此域名无cookie。 雅虎 使用yimg.com,YouTube使用ytimg.com,亚马逊使用images-amazon.com等。

  • 我也会认为,如果你是第二个领域的build筑师,如果你决定转向CDN,那么一切都将是非常到位的。 第二个领域,对我来说,感觉更模块化,我的模块化通常是一件好事。