2013-01-16 43 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 –