2014-05-14 35 views
0

是否有任何方法將單個請求發送(廣播)到多個服務器?是否有任何方法可以同時向多個服務器廣播單個http請求

我的需求是我需要一個模塊,它可以發送一個請求到多個服務器(一般來說是廣播請求)。它等待響應一段時間後說5毫秒),並從它得到的響應不同的服務器,它或者聚合在一起併發送回客戶端,或者根據響應中的參數(假設價格)將響應發送給客戶端。

例如:request(獲取價格)需要一次發送到server1,server2,server3和server4。服務器1響應:價格:$ 5服務器2響應:價格:$ 3服務器3不響應回5毫秒服務器4響應:價格:$ 8

我的模塊發回服務器4響應回到客戶端,因爲它價格最高,所有對俱樂部客戶的反應都將通過俱樂部和客戶進行驗證。

+0

單個請求只能訪問單個服務器,但可以向多個服務器中的每個服務器發送單獨的類似請求。但是除非你明確說明你使用什麼技術來提出請求以及到目前爲止已經嘗試過了什麼,否則你不會得到更具體的答案。 – Wyzard

+1

** Excact ** [在nginx模塊中是否向多個服務器發送(廣播)單個請求]的副本(http://stackoverflow.com/questions/23654964/is-there-in-nginx-module-to -sendbroadcast-A-單一請求到多個服務器)。 **如果他們沒有立即獲得答案,請不要轉發問題。 – Charles

+0

我們使用C++和HTTP協議來發送請求。我已經嘗試curl.1st我創建的線程數量根據請求和每個線程負責發送一個請求curl.I加入線程併發回但是線程加入並不是一個好主意。我正在尋找任何類似apache和nginx的web服務器。但是apache非常慢,因爲我們的請求非常高,延遲應該很低。我沒有在nginx的解決方案中呢...... – user3636572

回答

0

您可以使用cURL multi interface來執行此操作。

爲每個請求設置一個單獨的句柄,初始化一個多句柄並添加您的單個請求句柄。執行線程並進入等待循環以獲取響應/超時。之後,您會解析每個響應以收集所有結果。

+0

是的你說的對,我也是這樣想的,但是捲曲中唯一的問題是,它很慢。我們的平臺需要每秒向20-30個服務器發送50k請求。我懷疑如果curl能夠處理這些很多的請求,並且如果我在某個時間點等待線程中的響應,那麼我會脫離線程。 – user3636572

相關問題