What does HackerNews think of centrifugo?

Scalable real-time messaging server in a language-agnostic way. Set up once and forever.

Language: Go

Check out Centrifugal:

https://github.com/centrifugal/centrifugo (Server/Admin)

https://github.com/centrifugal/centrifuge (Server core)

https://github.com/centrifugal/centrifuge-js (Library)

It's a complete solution, including server, admin panel and client library.

https://github.com/centrifugal/centrifugo (Server/Admin)

https://github.com/centrifugal/centrifuge (Server core)

https://github.com/centrifugal/centrifuge-js (Library)

It's a complete solution, including server, admin panel and client library.

We're an European company and use OVH, Hetzner and others.

Every time I read criticism of WebSockets it reminds me about WebSuckets (https://speakerdeck.com/3rdeden/websuckets) presentation :)

I am the author of Centrifugo server (https://github.com/centrifugal/centrifugo) - where the main protocol is WebSocket. Agree with many points in post – and if there is a chance to build sth without replacing stateless HTTP to persistent WebSocket (or EventSource, HTTP-streaming, raw TCP etc) – then definitely better to go without persistent connections.

But there are many tasks where WebSockets simply shine – by providing a better UX, providing a more interactive content, instant information/feedback. This is important to keep - even if underlying stack is complicated enough. Not every system need to scale to many machines (ex. multiplayer games with limited number of players), corporate apps not really struggle from massive reconnect scenarios (since number of concurrent users is pretty small), and so on. So WebSockets are definitely fine for certain scenarios IMO.

I described some problems with WebSockets Centrifugo solves in this blog post - https://centrifugal.dev/blog/2020/11/12/scaling-websocket. I don't want to say there are no problems, I want to say that WebSockets are fine in general and we can do some things to deal with things mentioned in the OP's post.