Skip to main content

Ecosystem notes

Some additional notes about our ecosystem which may help you develop with our tech.

Centrifuge library for Go

Centrifugo is built on top of the Centrifuge library for the Go language.

Due to its standalone language-agnostic nature, Centrifugo dictates some rules developers should follow when integrating. If you need more freedom and a tighter integration of a real-time server with application business logic, you may consider using the Centrifuge library to build something similar to Centrifugo but with customized behavior. The Centrifuge library can be considered as an analogue of Socket.IO in the Go language ecosystem.

The library's README has a detailed description, a link to examples, and an introduction post.

Many Centrifugo features should be re-implemented when using Centrifuge - like the API layer, admin web UI, proxy, etc. (if you need those of course). And you need to write in the Go language. But the core functionality like a client-server protocol (all Centrifugo client SDKs work with a Centrifuge library-based server) and Redis engine to scale come out of the box – in most cases, this is enough to start building an app.

tip

Many things said in the Centrifugo doc can be considered as extra documentation for the Centrifuge library (for example, parts about infrastructure tuning or transport description). But not all of them.

Framework integrations

There are some community-driven projects that provide integration with frameworks for more native experience.

tip

In general, integrating Centrifugo can be done in several steps even without third-party libraries – see our integration guide. Integrating directly may allow using all Centrifugo features without limitations which can be introduced by third-party wrapper.