2014-06-25 106 views
0

我正在開發一個NodeJS應用程序,它將向RESTful API發送大量請求(對於TwitchTV)。我有權從TwitchTV提出請求,但我想知道我是否可以實施任何措施來減輕服務器上的壓力。NodeJS HTTP代理?

我還沒有執行測試,但我可以一次擁有多達200個用戶的任何內容,我需要每個用戶每2-3秒向TwitchTV的RESTful API請求數據。我查看了HTTP代理,並且查看了NodeJS的keep-alive,但在我的情況下我找不到它的任何應用程序。我只會向單個主機請求數據(https://api.twitch.tv),並且會有200個併發用戶每隔2-3秒發出200個HTTPS請求。

有什麼我可以做的,以減輕我的服務器和TwitchTV API的壓力?由於需要新數據,緩存並不是真正的選擇。

回答

0

如果您每2-3秒需要一次新的數據,並且唯一可用的API是單個呼叫,那麼您將需要撥打很多電話。這不是一個好方法。一些想法如下。

其他的想法,以減少對HTTP負載:

  • 請求數據的出現頻率。 2-3秒你真正需要或認爲你需要什麼?也許這些數據並沒有經常改變。
  • 爲多個用戶請求數據。如果API支持某種在應用中排序/過濾的批處理信息,那麼這將減少HTTP服務的負載。
  • 請求不同的方式。是否有不同的API調用可以提供相同的結果?
  • 限制你的服務器。爲您的用戶請求創建一個排隊系統,並且不會超出某個限制。如果對您的應用程序施加了一個不希望超出的呼叫限制(或收費限制),則可能需要進行此操作。
+0

1.不幸的是,數據不斷更新。 2. API不支持這一點。 3.該API只允許HTTP請求。 4.我有來自提供商的特殊權限,以消除兩端的限制。謝謝你的時間! – Oyed

+0

如果數據經常更新,並且知道該新數據的唯一方法是每個用戶(或每個用戶的一組呼叫)的單個API調用,那麼您還能做什麼?可能值得與你的API提供商一起檢查你想要的方法,甚至建議爲他們的下一個版本提供更多流水線的API調用。 – clay