Skip to content

Centrifugo PRO v6.8.4

Latest

Choose a tag to compare

@FZambia FZambia released this 30 Jun 04:09
0b35c13

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_node mode batched every channel on a connection into a single SSUBSCRIBE/SUNSUBSCRIBE, but Redis requires all channels in one such command to share a hash slot, so node-grouped subscribe failed with multi key command with different key slots are not allowed as 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 P partitions issued up to num_resubscribe_shards × P commands. Each owned partition is now assigned to a single resubscribe goroutine, batching its channels into full SSUBSCRIBE commands so a reconnecting node issues roughly P commands per Redis node — up to num_resubscribe_shards fewer. Measured against a real Redis Cluster, user-channel resubscribe commands dropped from 896 to 64 (14×) at num_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_count and redis_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.