Bästa svaret
Jag pressade precis en minimalistisk Node.js-packad klient (https://github.com/ypocat/ws-flash-client) som ska användas med (men inte begränsat till) ”ws” -servern (https://github.com/einaros/ws).
Du måste skriva saker som pub / sub själv , men det är precis som jag gillar det, som då har jag en bra överblick över min app. Jag antar att dessa saker (tillsammans med proceduranrop etc.) kommer i form av mikromoduler ovanpå detta.
Uppdatering: Jag har precis lagt till ytterligare en mikroförlängning – ws-rpc * – ett stöd för RPC-stilfunktionssamtal, rum (kanaler) och automatisk återanslutning av klienten.
Jag tror det (ws + ws-flash-client + ws-rpc) är för närvarande det bästa sättet att använda WebSockets på Node.js.
Update2: Jag har lagt till ett komplett HTTPS-exempel för Express-baserade nodservrar. Du bör verkligen använda krypterad transport med WebSocket idag, annars täcker du inte alla dina kunder.
* https://github.com/ypocat/ws-rpc
Svar
Jag har använt Faye för att implementera publicera / prenumerera i en applikation jag jobbar med. Det fungerar bra, det är flexibelt och lätt att använda. Det hanterar alla meddelanden i minnet så att en viss kanal bara kan betjänas av en enda node.js-process men hittills har detta inte varit en begränsning för mig. De lägger för närvarande till Redis-integration för att komma runt denna begränsning, vilket är vad Juggernaut (en annan pubsub-modul) använder som är byggd ovanpå socket.io .