2016-04-27 35 views
1

我們使用HttpServers (bundled with java)的集羣來處理http請求。我們的一部分流量很關鍵。我們根據一些請求參數將我們的http流量分類爲關鍵和非關鍵。如何基於url負載平衡Http流量

我們希望爲關鍵流量專用一些http服務器。將http請求標識爲關鍵/非關鍵並將請求路由到合適的服務器的最佳方式是什麼?

  1. 是否可以將http請求路由到適當的服務器而不通知調用者(誰調用了http請求)。

  2. 我知道我們可以使用http 3xx響應代碼重定向調用者。來電者必須再打一個電話 - 是否可以避免這種情況?

+0

關鍵在哪裏?對我來說關鍵是最需要的資源,並且你可以簡單地測量和報告服務器的使用情況。 – nullpotent

+0

從我們的用例角度來看,關鍵意義重大。他們可能不會消耗大量的系統資源。我們希望確保非關鍵流量的峯值不會影響關鍵流量。 – IsAs

+0

從我的角度來看,您只有在爲關鍵/非關鍵流量使用不同服務器名稱或使用允許指定路由規則的負載均衡器之間進行選擇。 – Robert

回答

1

大多數防火牆/負載平衡器將允許您檢查相應的流量和路由。我們這樣做是與F5和路由HTTP流量基於特定的HTTP標頭的服務器池使用的iRules:https://devcentral.f5.com/irules

如果這不是一個選項,你總是設置負載均衡器,如nginx的(http://nginx.org/en/#basic_http_features),並使用您的網址優先化的路徑。例如,所有呼叫http://domain.com/api都被路由到一組服務器,而http://domain.com/static轉到另一個服務器。