Skip to content

Messaging

Managed Centrifugo on your own cluster

Real-time messaging: clients hold a WebSocket or SSE connection, your backend publishes to channels over an HTTP API.

Created inside a project, beside the apps that use it. Each project gets its own instance, storage and credentials.

A recent addition. It installs today, and the console marks it as new until it has run on a customer's cluster.

01What it does

Centrifugo, run for you

Centrifugo on the vendor's chart, single node on the in-memory engine.

The piece between your backend and the browsers that want to hear from it. Clients hold a WebSocket or SSE connection to Centrifugo; your backend publishes to channels over an HTTP API and never manages a socket. Bound apps get the URL, the API key and the HMAC secret that signs connection tokens.

A single node on the in-memory engine, with the built-in admin UI. Each connection holds a few tens of kilobytes, so the size decides how many stay open. Nothing is stored, so there is no volume; the admin UI and the client endpoint can be published on a hostname.

02Options

What you choose

What the console asks when you create it, in the catalog's own numbers. Anything marked chosen once cannot change without creating a new instance.

Sizes
small 256Mi, medium 1Gi, large 2Gi of memory
Storage
None; the in-memory engine
Hostname
The client endpoint and admin UI (8000) can be published on a domain
Pause
Yes

03Binding

What your app receives

Bind it to an app and these arrive as environment variables. The values are generated once into a secret and reach the app from there, rather than as something you copy.

  • CENTRIFUGO_HOST
  • CENTRIFUGO_PORT
  • CENTRIFUGO_URL
  • CENTRIFUGO_API_KEY
  • CENTRIFUGO_TOKEN_HMAC_SECRET

04Adding it

Add Centrifugo to a project

The same four steps as every service in the catalog.

  1. 01Open a project and go to Services.
  2. 02Pick it from the catalog and choose its options. Only the size is required; everything else has a default.
  3. 03Create it. Anyport installs it into the project's namespace, generates its credentials into a secret there, and tracks its health.
  4. 04Bind it to an app. The connection details arrive as environment variables, and rotating the credential never means editing an app.

Also under Messaging