Skip to main content
CENTRIFUGOPRO
Unlock the full power of Centrifugo
Next-level realtime messaging and data sync
for your organization
Rotating Image

What is Centrifugo PRO?

Centrifugal Labs offers a PRO version of Centrifugo featuring unique capabilities, additional APIs, enhanced performance. These improvements are the result of real-world experience managing large-scale concurrent connections in production environments. You gain more features, greater scalability and performance, improved observability, prioritized support for the business.

Powerful and complete

Centrifugo PRO allows you to monitor activity down to individual channels or connections. Scalability and performance improvements can dramatically increase throughput and optimize resource usage of the realtime application. You also get support for sending push notifications making the client-facing realtime messaging system complete.

Lower resource costs

Lower resource costs

PRO version pushes the performance of Centrifugo to the next level. Optimizations for higher throughput. Lower latency, resource usage and bandwidth.

Push notifications

Push notifications

Support for sending push notifications with secure topics and flexible API. Integrates with FCM, APNs and HMS push providers.

Enhanced Admin UI

Enhanced Admin UI

Built-in SSO integration over OIDC protocol, user or channel realtime tracing, analytical widgets, push notification devices, more state data and more.

Flexible scalability

Flexible scalability

More options to layout your architecture: Redis replicas, Redis sharded PUB/SUB, per-namespace Broker configurations.

Better observability

Better observability

A better observability of your Centrifugo cluster: additional metric insights, realtime tracing and ClickHouse integration, state snapshots.

Protocol rate limits

Protocol rate limits

Protect your realtime APIs from misusing and client-side bugs. Detect and disconnect clients generating lots of errors.

OSS vs PROOSSPRO
Core MessagingA solid real-time foundation available in both editions
PUB/SUB, channels, namespaces
WebSocket, SSE, HTTP-streaming, WebTransport, GRPC transports
WebSocket bidirectional emulation
Stream subscriptions with history, recovery, cache mode
Map subscriptions for state sync
Map subscriptions enhancements
In-memory cache layer, PostgreSQL read replicas and broker fan-out, Redis Cluster support with sharded PUB/SUB, and per-namespace map brokers for using different backends per channel namespace. Learn more →
Shared poll subscriptions
Shared poll enhancements
Instant initial data via cached items, delta compression, notification fast path for near-instant updates, adaptive backpressure, and a standalone relay server to centralize backend polling. Learn more →
Presence & join/leave events
Delta compression, client-side publication filtering by tags
Server-side publication tags filter
Server-controlled per-subscriber publication filtering via tags. Set by your backend through subscribe proxy or JWT — the client cannot override it. Works for stream and map subscriptions, enabling fine-grained access control within channels. Learn more →
Proxy events (connect, subscribe, publish, RPC)
Official real-time SDKs for popular languages
Security, auth, permissionsProtect your platform, control access at every level
JWT & proxy authentication
Channel capabilities & CEL expressions
Fine-grained permissions on a per-connection or per-subscription basis. Control who can publish, subscribe, or access history — configured via JWT claims or connect/subscribe proxy. Learn more →
Channel patterns
Define channel configuration using route-like patterns (e.g. /users/:name) similar to URL routing in web frameworks. Build familiar HTTP-style channel models without listing every namespace. Learn more →
Operation rate limiting
Limit the number of subscribe, publish, history, presence, RPC and other operations per connection using a token bucket algorithm. Automatically disconnect clients that generate too many errors. Learn more →
User blocking API
Block users at the Centrifugo level — blocked users are immediately disconnected and cannot reconnect. Supports optional persistence to Redis or database so blocks survive restarts. Learn more →
Token revocation & invalidation
Revoke individual tokens by JTI claim or invalidate all tokens issued before a specific time using IAT claim. Revocation info is kept in-memory with periodic sync, making checks fast. Learn more →
Multiple JWKS providers
Automatically extract and map JWT claims from third-party identity providers into Centrifugo connection metadata. Useful when working with providers that issue non-customizable tokens. Learn more →
Server API JWKS authentication
Protect HTTP and GRPC server APIs with JWKS-based JWT authentication. Use tokens from your identity provider (Keycloak, Auth0, etc.) instead of static API keys. Learn more →
Scalability and performanceLower costs and handle more with fewer resources
Scale with Redis, Redis Cluster and NATS
Per-namespace engines
Assign different broker backends to different namespaces to scale load and match each feature to the right backend — PostgreSQL for transactional channels, Redis for high-throughput channels, separate Redis instances per namespace to distribute load. Learn more →
Singleflight & shared position sync
Merge identical parallel requests to history, presence, or presence stats into one real network request. Particularly effective during massive reconnect scenarios. Learn more →
Performance optimizations
Batch periodic client events (ping, presence updates) to reduce CPU usage and system calls. Reported over 2x CPU reduction for idle connections in benchmarks. Learn more →
Sharded PUB/SUB for Redis Cluster
Use Redis 7.0+ sharded PUB/SUB to distribute channel load across cluster nodes instead of broadcasting to all. Includes node-grouped mode that reduces connection count from num_partitions to num_redis_nodes. Works for both Engine and Map Broker. Learn more →
Bandwidth optimizations
Delta compression for at-most-once delivery, channel compaction, and client publish debouncing to coalesce rapid updates. Reduces bandwidth and broker load. Learn more →
Advanced message write and batching
Configure write_delay to collect messages before sending, trading delivery latency for reduced CPU. Can cut overall cluster CPU usage by half for high message rate scenarios. Learn more →
Custom Controller (Redis, Nats, PostgreSQL)
Isolate cross-node control traffic from channel data using a dedicated controller. Supports Redis, Nats, and PostgreSQL — the PostgreSQL controller enables fully PostgreSQL-only multi-node clusters with no Redis dependency. Learn more →
ObservabilityFull visibility into every connection, channel, and message
Prometheus metrics, admin UI
ClickHouse analytics
Export publications, connections, subscriptions, operations, and push notification events to ClickHouse. Run fast analytical queries with effective data retention policies. Learn more →
Real-time channel & user tracing
Attach to any channel or user ID in real time to see all messages and events as they happen. Available in admin UI or via API. Traces can be saved to files for later analysis. Learn more →
Connection & channel snapshots
Inspect current state of connections and channels across the cluster. See who is connected, what they are subscribed to, and channel-level stats. Learn more →
SSO/OIDC for admin UI
Authenticate admin UI users via any OIDC-compatible identity provider (Okta, KeyCloak, Google, Azure, etc.) with PKCE support. Checks user permissions on every request. Learn more →
Enhanced metrics
Channel namespace resolution and client SDK name breakdown in Prometheus metrics, per-node CPU and RSS stats in admin UI, and more. Learn more →
EngagementReach users even when they are offline
Push notifications (FCM, APNs, HMS)
Send push notifications to Android, iOS, and web via FCM, APNs, and HMS. Supports timezone-aware delivery, localization, and templating. Learn more →
Device token management & topics
Built-in device token storage in PostgreSQL with topic-based subscriptions and Redis-based worker queues. Centrifugo handles the full push notification lifecycle. Learn more →
Additional APIs and eventsExtended server-side APIs and channel events for deeper integration
Additional event hooks
Channel state events (occupied/vacated webhooks when subscribers join or leave) and cache empty events (notify backend on cache misses for lazy state population). Learn more →
User status API
Clients call update_user_status RPC on meaningful actions, storing last active time in Redis. Query status for multiple users at once — useful for showing online indicators in chat apps. Learn more →
Connections API
Retrieve all active user sessions by user ID or expression without requiring presence. Attach JSON metadata to connections for server-side inspection and session management. Learn more →
SupportGet help when you need it
Community support
Prioritized support

Pricing

We currently provide Centrifugo PRO licenses only to corporate customers. The license key allows running Centrifugo PRO without any limits for organization projects, includes 1 year of prioritized support and updates.

Our pricing is flat, based on your company size and Centrifugo role. Share your use case and company details — we'll get back with a quote: