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