Echo JS 0.11.0

<~>
victorquinn 3685 days ago. link parent 2 points
I mention it in the footnote (and disclaimer, I'm a Node expert, not a networking expert, so I may be totally wrong), but one of the main benefits of SPDY is the data pipelining, so it will open a connection and leave it open without forcing a TCP handshake with every request. Helps mostly with multiple requests in rapid succession. That is one of the main benefits for deploying SPDY.

If I were to terminate SPDY at the load balancer then communicate via plain jane HTTP from the load balancer to our Node servers, the pipeline would be kept open between the client device and the load balancer which is good, but there would be a TCP handshake between the load balancer and the Node server on every incoming request since it'd be communicating over normal HTTP, thereby eliminating most of that benefit of SPDY.

It'd be a bit like starting with a slow internet connection (10Mbps) and a slow router (10Mbps). Your throughput is 10Mbps.

You upgrade to a blazing fast internet connection (1000Mbps) but keep your slow router (10Mbps). Your throughput is still only 10Mbps in spite of your fast connection.

But, if you can upgrade your router (1000Mbps) and pair it with your fast internet (1000Mbps), then you really get fast throughput (1000Mbps).

That's my understanding anyway, again I'm no expert. I found it a bit tricky to do things like performance metrics for SPDY because most performance and load testing tools (like ab) only support HTTP(S) and not SPDY.

Replies

jylauril 3685 days ago. link 1 point
That makes sense if it keeps the connection open. It just seemed weird that you'd still have to include the certificates in both, the load balancer and your Node app as well.