

Show HN: During the last week, I built a SPDY server. - sokrates
https://github.com/jonasschneider/momentum

======
pilif
IMHO, SPDY should be implemented on the frontend servers like varnish, HAProxy
or nginx. If you do SPDY on the backend server, you cause a lot of additional
problems:

1) your backend servers should use their hardware for actually running the web
application, not for encrypting responses.

2) usually, your backend servers only serve the dynamically generated content.
SPDY's biggest advantage is that it would allow to handle multiple requests in
one connection, but this really shines for static assets (images, stylesheets)
which in turn are rarely served by the backend.

3) Even if you want to do SPDY on the backend, your frontend proxies still
have to support it, because that's what the clients are talking to.

So as it stands now, having SPDY on the backend server (or even in your
application like this project here) doesn't really give you any of SPDY's
advantages unless you begin serving all of your site directly from your
application servers, which we learned over the last years, just doesn't scale
as well.

~~~
sokrates
The author here. I can understand that it's not clear from the README, but I
only chose a Rack implementation for the backend in order to make developing
those 'Adapters' easier for others, since Rack is pretty standard in the Ruby
world. One of the implemented adapters, Proxy, acts a proxy to another HTTP
server. In the performance section:

"[The results] show the power that lies in the simple addition of a SPDY
server to an existing nginx/Thin configuration (and probably also
Unicorn/nginx.)"

I am totally for the separation of front- and backend.

------
ndrarmst
Great work. I'm not as up-to-date on SPDY servers as I should be, but this
seems to be one of the few suited for non-trivial use cases.

------
MikeCapone
Disclaimer: I am not a programmer or web guy.

Would this technology be beneficial to Hacker News? Is the site currently
hosted on a SPDY-compatible server?

~~~
i386
Its only for Rack based apps (Ruby) and this website is written in pg's own
lisp-like language. So, no :)

~~~
MikeCapone
Maybe I'm confused; I thought SPDY was a HTTP replacement written by Google:

<http://en.wikipedia.org/wiki/SPDY>

~~~
SpikeGronim
Yes, SPDY is a cross-platform protocol. This submission is a Ruby
implementation of a SPDY server for Rack applications like Ruby on Rails. The
news.ycombinator.com server is written in the arc language. SPDY is awesome.

~~~
MikeCapone
Ok. It's my fault for not being clear in my original message. I wasn't talking
about the linked SPDY implementation but about SPDY in general. Sorry, I
should have marked it as OT.

~~~
i386
All good - we are all here to share knowledge :-)

------
chetan51
Stupid question, but what are the advantages of SPDY? And how should the
average hacker use it?

~~~
latch
speed and security.

Headers are gziped, concurrent request on a single TCP session, everything
over ssl and some push capabilities.

------
WALoeIII
This is great! Nice work!

