2013-01-16 41 views
1

我正在使用弹性负载平衡器。现在我想基于URI检查来做负载均衡。如何基于请求URI来负载均衡?

现在我有一组实例,我想重定向到该特定组的实例。

有关示例

如果我POST请求发送给一个实例这样 http://www.example.com/group1与自定义首部的数据,以便现在该请求应当是重定向该请求使用负载平衡器服务器GROUP1。

如果我发送post request到像这样的 http://www.example.com/group2与自定义标题数据相同的实例,所以现在这个请求应该被重定向到使用负载平衡器的group2服务器。

总之我想做条件负载平衡。

那么我该怎么做呢?

+1

我确实会首先质疑架构。如果你有一些特定的逻辑只需要在一台特定的服务器或一组服务器上运行,那么你应该把它放在它自己的域或子域上,并在它前面有它自己的负载平衡器。实质上,您首先要打破负载平衡器的目的,因为除非这两个URI之间的请求数几乎相等,否则将人为地平衡负载均衡器中的负载。 –

回答

0

有几种方法可以做到这一点。

  1. 作为条件负载平衡不被亚马逊的支持,您可以创建两个负载均衡器,一个有1组情况下,另一个组2实例。现在您将不得不使用Route53路由流量。定义一个Cname记录或一个带有别名的记录作为负载均衡器一个记录名称。一个概率是我不确定是否会工作,但http://www.group1.example.com/http://www.group2.example.com/肯定会工作。

  2. 另一种选择是处理来自服务器(ec2实例)的请求。如果group1请求到达group2服务器,则必须重定向请求,反之亦然。在这种情况下,你不会需要2个负载平衡器。

+0

由于您可以将CNAMES指向别名,因此您不需要使用route53,但必须使用dns1.example.com和dns2.example.com –