我有一個服務,我需要每一個用戶請求要求40的外部服務(API的),以得到他們的信息。例如,一個用戶正在搜索一些信息,我的服務是要求40個外部合作伙伴獲取信息,並將其彙總到一個數據庫(mysql)中,並將結果顯示給用戶。規模多要求不同的服務
在這一刻我有一個multicurl解決方案,我一次有10個合作伙伴請求,如果有人完成了請求,那麼軟件會從剩下的30個添加另一個夥伴到multicurl隊列,直到所有40個請求都完成,結果在數據庫中。
對這個解決方案的問題是,它無法擴展在多臺服務器,我想有一些解決方案,在那裏我可以在同一時間如火災40分要求2-3服務器和只等待這麼久,作爲最慢的合作伙伴提供結果;-)這意味着,如果最慢的合作伙伴花費10秒鐘,我將在10秒內獲得所有40個合作伙伴的結果。在multicurl我遇到麻煩,一次有多個10-12個請求。
什麼樣的解決方案,可以爲您提供我,我得到儘可能低ressources,可以在一臺服務器上運行許多許多工藝和可擴展性。我的軟件是用PHP編寫的,這意味着我需要通過框架或API很好地連接到解決方案。
我希望你能理解我的問題和需求。請問,如果有什麼不明確的。
你可以寫上這款本本,其廣泛用於S.O – 2012-07-11 21:34:54
嘛不唯書,但我知道它的複雜:-)也許有一些提示這一點,我怎麼可以擴展它在多臺服務器? – 2012-07-11 21:50:50
爲什麼一次只能使用多次捲曲來限制10-12個請求?我在一臺低端機上一次完成了200個請求。除非服務器上存在限制,否則您應該可以在沒有問題的情況下執行40次。 – 2012-07-12 01:20:41