What is meta? ×
Meta Stack Exchange is where users like you discuss bugs, features, and support issues that affect the software powering all 150 Stack Exchange communities.

What kind of sockets does Stack Overflow use for the realtime reputation updates? Is it something like Netty-Jetty, Solr or SignalR? Are they using web sockets implemented in C#?

share|improve this question

1 Answer 1

up vote 75 down vote accepted

We use a custom socket server that we developed in house. It supports every historic + RFC version of the web-sockets api; not just Hixie 76; hixie-76 === hybi-00; hybi-4/5/6/7/8, and hybi-13 === RFC6455. We treat sockets as a value add for those who use modern browsers and don't rely on it to provide all updates to our sites as websockets aren't supported in all browsers at this point.

We developed our own very simple protocol on top of websockets to provide rudimentary updates to question lists and as well as other interactions. We use redis messaging to support a unified messaging bus between all of our socket servers. The server side is a Windows service written in C# and the client side is jQuery.

There was talk of open sourcing our implementation but haven't reached a release yet. I have been very impressed with the load we've been able to handle thus far.

Here's a snapshot of haproxy at the moment:

socket traffic

In case you're wondering - that is 128k simultaneously connected web socket clients all receiving updates via our unified messaging bus.

Note by Marc Gravell♦: if people would be genuinely interested in our releasing this as open source, please let us know. It will take some effort. but isn't impossible.

share|improve this answer
We use redis messaging to support a unified messaging bus between all of our socket servers --- where can you find more information on that particular aspect? – wal Feb 20 '13 at 1:06
@wal you mean this? – Shadow Wizard Feb 20 '13 at 8:22
@ShaWizDowArd we don't actually use service-stack for that; we have a separate library (BookSleeve) that we open-sourced ages ago - the key point in that library is that it is multiplexed, fully async-IO, and async Task oriented – Marc Gravell Feb 20 '13 at 17:15
@MarcGravell, We want this superb thing as Open Source :) – Murali Murugesan Feb 26 '13 at 12:14
@MarcGravell genuinely interested, but I would be even more interested in hearing details on it: how you designed it, why redis, which choices you made, how does it work... – Lorenzo Dematté Mar 1 '13 at 14:49
Still really interested in the open source idea, any updates? – mattytommo Apr 30 at 14:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .