Centrifugo PRO is an extended version of Centrifugo with a set of additional features. These features can provide your business with unique benefits – drastically save development time, reduce resource usage on a server, protect your backend from misusing, and put the system observability to the next level.
More details and feature description can be found in Centrifugo PRO docs.
What's changed
- Everything from Centrifugo OSS v6.8.4
- Fix node-grouped sharded PUB/SUB – it now works beyond one partition per node — the experimental
group_sharded_pub_sub_by_nodemode batched every channel on a connection into a singleSSUBSCRIBE/SUNSUBSCRIBE, but Redis requires all channels in one such command to share a hash slot, so node-grouped subscribe failed withmulti key command with different key slots are not allowedas soon as a Redis Cluster node owned channels from more than one partition (essentially always once partitions outnumber nodes). Each command batch is now split per partition — every partition's channels share its{partitionTag}slot — so a single connection per node still serves all of that node's partitions. Applies to both the Redis broker and the Redis Map Broker. See Node-grouped sharded PUB/SUB — and for the full background on how Centrifugo scales Redis Pub/Sub (sharding, slot balance, connection count and efficient resubscribes) read the Scaling Redis Pub/Sub to millions of channels blog post. - Faster node-grouped resubscribe on reconnect — the resubscribe loop split a node's channels across goroutines by channel-name hash, scattering every partition across all goroutines so a node owning
Ppartitions issued up tonum_resubscribe_shards × Pcommands. Each owned partition is now assigned to a single resubscribe goroutine, batching its channels into fullSSUBSCRIBEcommands so a reconnecting node issues roughlyPcommands per Redis node — up tonum_resubscribe_shardsfewer. Measured against a real Redis Cluster, user-channel resubscribe commands dropped from 896 to 64 (14×) atnum_resubscribe_shards = 16. This matters most during a fleet-wide reconnect storm, when every subscriber node's commands hit each Redis node while the cluster is still recovering. See Node-grouped sharded PUB/SUB. - New node-grouped observability metrics — node-grouped mode now exports
redis_node_grouped_topology_rebuild_count,redis_node_grouped_topology_error_count,redis_node_grouped_unknown_slot_owner_countandredis_node_grouped_topology_change_gap_seconds(per broker subsystem) so you can watch Redis Cluster topology rebuilds, slot-owner resolution failures and the gap between topology changes. See Node-grouped sharded PUB/SUB.