Broadcast Rate Limiting

Rate limiting helps you throttle client events, backend events, or HTTP REST API calls for read endpoints (like /channels) at the app level.

Choosing a rate limiter driver depends on the architecture the server is deployed in. For local, single-instance servers, the default local driver is sufficient. For multi-node deployments, a Redis server is typically required. If you choose to use Redis to store rate limiting data, please consult our documentation on connecting to Redis.

Environment Variables

NameDefaultPossible valuesDescription

SOKETI_RATE_LIMITER_DRIVER

local

local, redis, cluster

The driver used for rate limiting.

SOKETI_RATE_LIMITER_REDIS_CLUSTER_MODE

false

false, true

Only for the redis driver. Whether the client should be initialized for Redis Cluster. You have to specify the DB_REDIS_CLUSTER_NODES value.

  • local - Rate limiting data is stored in-memory and is lost upon server exit.

  • redis - Rate limiting data is centralized in Redis. This driver is recommended when deploying multi-node soketi configurations.

  • cluster - Rate limiting data is centralized within the master instance, that is elected. This driver is recommended when deploying multi-threaded soketi configurations (i.e. PM2)

Last updated