2015-05-18 81 views
4

我一直試圖在網上澄清這個問題一段時間沒有成功,所以我會試着在這裏問一下。端到端反應流式RESTful服務(又名背壓HTTP)

我想找到一些資源或示例,說明如何構建端到端完全反壓REST服務+客戶端。我的意思是,我希望看到,給定一個實現響應流的REST客戶端(無論是Akka,JS還是其他),我將(並且能夠「可視化」)整個過程中處理的背壓建立REST服務器,例如與Akka-Http。

要清楚,我正在尋找類似下面的通話(但我找不到幻燈片或視頻進行確認):http://oredev.org/2014/sessions/reactive-streaming-restful-applications-with-akka-http

我與大多數的例子,我看到懷疑是有關的事實,我可以找到REST服務(服務器)使用Akka Http和Akka流作爲後端的大量案例,但我不確定背壓是否通過HTTP和REST進行「溝通」,如果客戶端正在實施Reactive Streams。在這種情況下,我是否可以通過TCP/HTTP橋接一個「流」或者只有兩個獨立的流?這是我的主要疑慮和困惑。

希望我已經夠清楚了,有人可以對此提出一些看法。
無論如何,謝謝!

+1

您是否嘗試過在Akka用戶Google羣組頁面上提問此問題?那裏你可能會有更好的運氣。 – cmbaxter

回答

8

你已經來到了正確的地方要問阿卡問題:-)

有兩個講座我知道這些都顯示演示背壓機制如何真正以http工作時的作品。

1)其中一個是Roland Kuhn’s talk on ScalaDays SF 2015: http演示的背壓開始於本次演講的第44分鐘左右。

2)My talk from ScalarConf Warsaw 2015。流部分在18分鐘左右開始,第二十四分鐘左右看到背壓演示。它顯示了一個「快速處理」和「慢速處理」的服務器,在這個服務器上你可以看到當上傳文件時我的curl客戶端被反壓(我用一個文件作爲例子,因爲它是一個很好的「大請求」)。

由於機器內置了TCP,背壓會傳播到客戶端 - 在服務器端,我們根本不會從套接字 讀取數據,直到需求可用,這會導致背壓正確傳播。

我希望這有助於!