有沒有辦法在rails中爲POST命令維護/使用持久連接?使用POST的持久/保持HTTP連接在Rails中
我想創建一個API,其中我的應用程序接受來自外部服務的數據流的數據流(我在寫這個外部服務,所以我可以在這裏靈活地設計我的設計)。速度至關重要。我需要以每秒1000+點的速度從外部來源獲取信息。在與一些計算機科學家交談時,人們提出了使用持久連接的想法,以便只需要執行一次昂貴的TCP握手。使用外部服務中的庫,然後創建多個POST項目,這些項目被推送到我的Rails應用程序中,然後逐個處理這些POST項目。
我對rails範例的理解是每個請求(POST,GET,PUT等)都需要一個TCP連接。有沒有一種方法可以利用一個TCP連接來獲取多個POST?
我目前使用下列內容:
- 的Rails 3.2
- 的Ruby 1.9.3(必要切換到2.0)
編輯
爲了幫助澄清我的目標是什麼:
我有一個外部系統,每秒收集1,000個數據點(3個浮點數,時間戳和2個整數)。我想將這些數據推送到我的Ruby on Rails服務器上。我希望有一個正確配置的系統,我可以實時使用HTTP堆棧(當數據點被收集後,我將它推送到我的rails服務器)。我也可以減慢傳輸速率,並將數據分組在一起發送。我研究過使用消息隊列,但是我想看看在去專門的隊列API之前是否可以編寫更「標準的」HTTP API。
知道你通過'POST'發送什麼是很有意思的。如果可以將它安裝到多部分MIME消息中,則可以傳輸請求,進一步減少開銷。 – DaSourcerer
@DaSourcerer我更新了我的問題,希望能夠讓你瞭解我正在努力完成的任務。我從來沒有聽說過「流式傳輸」一個請求。我可以通過谷歌瞭解這一點? –
謝謝。我必須說,這是一個非常有趣的問題。我有一些想法可以幫助你。隨着時間的推移,我會更新我的答案。 – DaSourcerer