centrifuge-js
websocket.zig
centrifuge-js | websocket.zig | |
---|---|---|
2 | 2 | |
378 | 220 | |
1.1% | - | |
7.4 | 8.1 | |
23 days ago | 12 days ago | |
TypeScript | Zig | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
centrifuge-js
websocket.zig
-
Millions of Active WebSockets with Node.js
Honestly, what matters is (a) what you're going to be doing with those connections and (b) your hardware.
As a generalization (again, really depends what you're going to be doing), I'd expect people to get a lot further with a Go or Java based implementations. Specifically, if those connections are interacting with each other in any meaningful way, I think shared data is still too useful to pass up.
I've written a websocket server implementation in Zig(1) and Elixir(2)
(1) https://github.com/karlseguin/websocket.zig
- websocket.zig - websocket server passing all [important] autobahn tests
What are some alternatives?
ActionHero - Actionhero is a realtime multi-transport nodejs API Server with integrated cluster capabilities and delayed tasks
interface.zig - Dynamic dispatch for zig made easy
soketi - Next-gen, Pusher-compatible, open-source WebSockets server. Simple, fast, and resilient. π£
meduza - π¦ π§ββοΈ Zig codebase graph generator that emits a Mermaid class diagram.
eventsource - EventSource client for Node.js and Browser (polyfill)
gnet - π gnet is a high-performance, lightweight, non-blocking, event-driven networking framework written in pure Go./ gnet ζ―δΈδΈͺι«ζ§θ½γθ½»ιηΊ§γιι»ε‘ηδΊδ»Άι©±ε¨ Go η½η»ζ‘ζΆγ
Centrifugo - Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever.