Hi there Matteo,
You’ve arrived in the right place to ask Akka questions :-)

There are two talks I’m aware of which show a demo how the backpressure 
mechanism really works when working with http.
1) One is Roland Kuhn’s talk on ScalaDays SF 2015: 
https://www.parleys.com/tutorial/akka-http-reactive-web-toolkit
the backpressure over http demo starts around the 44th minute of this talk.

2) My talk from ScalarConf Warsaw 2015: 
https://www.youtube.com/watch?v=WnTSuYL4_wU the streams part begins around the 
18 minute,
and the backpressuring demo is seen around the 24th minute. It shows a “fast 
processing” and “slow processing” server, in which you can see the
curl client being backpressured when the file is being uploaded (I use a file 
as an example because it’s a nice “big request”).

The back pressure is propagated to the client thanks to TCPs built in 
mechanisms for this - on the server side we simply do not read from the socket
until demand is available, which causes the back pressure to be propagated 
properly.

I hope this helps!

-- 
Cheers,
Konrad 'ktoso’ Malawski
Akka @ Typesafe

On 18 May 2015 at 12:44:49, Matteo De Martino ([email protected]) wrote:

I have been trying to clarify this question online for a while without success, 
so I will try to ask it here.

I would like to find some resource or example where it shows how I can build an 
end-to-end fully back-pressured REST service + client. What I mean is that I 
would like to see that, given a REST client that implements Reactive Streams 
(whether in Akka, JS, or whatever), I will have (and be able to "visualise") 
the back-pressure handled throughout a REST server built, e.g. with Akka-Http.

To be clear, I am searching for something like the following talk (but I could 
not find slides or videos to confirm it): 
http://oredev.org/2014/sessions/reactive-streaming-restful-applications-with-akka-http

My doubts with most examples I see are about the fact that I can find plenty 
cases where the REST service (server) is using Akka Http and Akka streams for 
the back end, but I am not sure that the backpressure is "communicated" over 
HTTP and REST, if the client is implementing Reactive Streams. In such 
situation, would I have a single "stream" bridged over TCP/HTTP or just 2 
independent streams? That is my main doubt and confusion.

Hopefully I was clear enough and someone will be able to shed some light on the 
matter.
In any case, thank you!

--
>>>>>>>>>> Read the docs: http://akka.io/docs/
>>>>>>>>>> Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user
---
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

-- 
>>>>>>>>>>      Read the docs: http://akka.io/docs/
>>>>>>>>>>      Check the FAQ: 
>>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html
>>>>>>>>>>      Search the archives: https://groups.google.com/group/akka-user
--- 
You received this message because you are subscribed to the Google Groups "Akka 
User List" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/akka-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to