Centrifugo v4 released – with own WebSocket emulation layer, optimized client protocol, unified SDK behavior, experimental HTTP/3 and WebTransport support

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/golang

Our great sponsors
  • talent.io - Download talent.io’s Tech Salary Report
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Truly a developer’s best friend
  • ws

    Tiny WebSocket library for Go. (by gobwas)

    Oh, thanks! And sorry for still not switching to https://github.com/gobwas/ws :)

  • centrifuge

    Real-time messaging library for Go with scalability in mind. The core of Centrifugo server.

    Thanks! BTW, Centrifugo's core is based on https://github.com/centrifugal/centrifuge Go library - which theoretically can be more flexible and extensible solution for Go developers than Centrifugo server since server dictates some auth/permission/channel/api rules.

  • talent.io

    Download talent.io’s Tech Salary Report. Median salaries, most in-demand technologies, state of the remote work... all you need to know your worth on the market by tech recruitment platform talent.io

  • Mercure

    An open, easy, fast, reliable and battery-efficient solution for real-time communications

    I actually was thinking about this when I saw https://github.com/dunglas/mercure project to become a Caddy plugin. But I did not find enough reasoning to try this with Centrifugo at that point, and still... Seems awesome from one side - tight integration with a web-server, no extra network between LB and Centrifugo. But will this be useful in practice and find its users? 🤔 That's the question I don't have an answer yet.

  • jetstream

    JetStream Utilities (by nats-io)

    Centrifugo can use Nats as PUB/SUB broker. I also tried to use Jetstream to implement Centrifugo history/recovery semantics – unfortunately Jetstream does not fit us very well as streams must be created over a separate call to admin API, and it's not possible to iterate/paginate over Jetstream streams to be suitable to current Centrifugo message history and recovery semantics (I asked about support for this – unfortunately the issue was closed and required API not implemented - https://github.com/nats-io/jetstream/issues/266, suggested solution is far from optimal for our use case).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts