centrifuge VS jetstream

Compare centrifuge vs jetstream and see what are their differences.

centrifuge

Real-time messaging library for Go. The simplest way to add feature-rich and scalable WebSocket support to your application. The core of Centrifugo server. (by centrifugal)

jetstream

JetStream Utilities (by nats-io)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
centrifuge jetstream
13 2
976 428
4.1% -
8.5 8.4
8 days ago over 2 years ago
Go Dockerfile
MIT License Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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

Posts with mentions or reviews of centrifuge. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-24.
  • Websocket memory usage
    8 projects | /r/golang | 24 May 2023
    There are libraries which provide more advanced APIs for creating real-time applications, for example https://github.com/centrifugal/centrifuge
  • Elixir or golang which wiil be good for large websocket connections.
    3 projects | /r/elixir | 11 May 2023
    Yes, but there are two excelent libs for golang websockets - https://github.com/gobwas/ws - https://github.com/centrifugal/centrifuge
  • Millions of Active WebSockets with Node.js
    7 projects | news.ycombinator.com | 20 Feb 2023
  • Best way for broadcast message un websocket
    2 projects | /r/golang | 1 Jan 2023
    What https://github.com/centrifugal/centrifuge does:
  • Gorilla/websocket or Melody?
    5 projects | /r/golang | 24 Dec 2022
    Have you considered https://github.com/centrifugal/centrifuge? It also uses Gorilla WebSocket for WebSocket transport at the moment – but it's hidden inside and may be replaced if needed since Transport interface is pluggable. It's more heavyweight though than both Melody and Gorilla WebSocket but provides much more functionality out-of-the-box.
  • What libraries are missing?
    13 projects | /r/golang | 16 Dec 2022
    Not a Socket.IO compatible but maybe you will find it useful/interesting: https://github.com/centrifugal/centrifuge
  • Centrifugo v4 released – with own WebSocket emulation layer, optimized client protocol, unified SDK behavior, experimental HTTP/3 and WebTransport support
    4 projects | /r/golang | 20 Jul 2022
    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.
  • TCP or websockets for chat server
    6 projects | /r/golang | 25 Nov 2021
    Hello, +1 to WebSockets. If you need to choose WS library – go with https://github.com/gorilla/websocket or https://github.com/gobwas/ws. You can also look at Centrifugo server (https://centrifugal.dev/, supports WebSocket, SockJS bidi transports, also EventSource, HTTP-streaming, GRPC unidirectional transports and many builtin features) or https://github.com/centrifugal/centrifuge Go library.
  • Looking for lowest-latency WebSocket server/library
    2 projects | /r/golang | 8 May 2021
    Maybe https://github.com/centrifugal/centrifuge would be a better fit for op use case (the library Centrifugo is based on, still evolving and has not v1 release though). Centrifugo is a standalone server and may limit developers that pursue the lowest latency due to attempt being generic. Don't want to say that Centrifugo performs bad - but it's mostly about features available out-of-the-box and simple scalability to many machines.
  • Centrifuge v0.16.0 now supports unidirectional transports for real-time messaging updates such as unidirectional GRPC stream, EventSource(SSE), Fetch Readable Stream
    2 projects | /r/golang | 22 Mar 2021
    With Centrifuge v0.16.0 it's now possible to use a bunch of unidirectional transports for cases where bidirectional communication not really needed. New release includes several examples for unidirectional GRPC stream, EventSource, Fetch Readable Stream (all links in release notes) and even unidirectional WebSocket (ha-ha!). Previously I could not find a good way to fit this into Centrifuge protocol – now I think I found a pretty elegant solution. I believe this could give developers more choice especially for simple use cases without frequent dynamic subscriptions/unsubscriptions (though with new API it's possible to subscribe/unsubscribe specific client cluster-wide). The additional beauty of unidirectional approach is that it does not really require using specific Centrifuge libraries for different environments (since bidirectional communication is pretty hard to use without extra library on top of client-server framing protocol) - just use native browser APIs or GRPC-generated code to connect and receive real-time updates.

jetstream

Posts with mentions or reviews of jetstream. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-07-20.

What are some alternatives?

When comparing centrifuge and jetstream you can also consider the following projects:

Apache Kafka - Mirror of Apache Kafka

liftbridge - Lightweight, fault-tolerant message streams.

redpanda - Redpanda is a streaming data platform for developers. Kafka API compatible. 10x faster. No ZooKeeper. No JVM!

Socket.io - Realtime application framework (Node.JS server)

Apache Pulsar - Apache Pulsar - distributed pub-sub messaging system

websocket - A fast, well-tested and widely used WebSocket implementation for Go.

kafkacat - Generic command line non-JVM Apache Kafka producer and consumer [Moved to: https://github.com/edenhill/kcat]

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

jepsen - A framework for distributed systems verification, with fault injection

beaver - 💨 A real time messaging system to build a scalable in-app notifications, multiplayer games, chat apps in web and mobile apps.

java-pubsublite-kafka

kcptun - A Stable & Secure Tunnel based on KCP with N:M multiplexing and FEC. Available for ARM, MIPS, 386 and AMD64。N:M 多重化と FEC を備えた KCP に基づく安定した安全なトンネル。 N:M 다중화 및 FEC를 사용하는 KCP 기반의 안정적이고 안전한 터널입니다. Un tunnel stable et sécurisé basé sur KCP avec multiplexage N:M et FEC.