NovuN
Novu13mo ago
Shisheer

Redis Requirements

I am running the novu-api (version 2.0.1) as a container in a Kubernetes Deployment.
These are the env vars the container uses for Redis:
REDIS_HOST=novu-redis-queue
REDIS_PORT="6379"
REDIS_PASSWORD=""
REDIS_DB_INDEX="2"
REDIS_CACHE_SERVICE_HOST=novu-redis-cache
REDIS_CACHE_SERVICE_PORT="6379"

Note: I'm running AWS Elasticache Redis OSS caches. They're on 7.1.0 and cluster mode is disabled (1 node and 1 shard). I have 2 identical clusters: novu-redis-queue and novu-redis-cache.

When I hit the /v1/health-check endpoint on novu-api, I get a 503 response (please see attached image)
It seems there's a problem with the workflowQueue.
  • What exactly is this workflowQueue?
Also, I see a bunch of Redis related environment variables for novu-api (as seen here)
  • So given my setup (k8s, Elasticache, etc) what environment variables should I use for Redis?
  • What's the difference between REDIS_HOST, REDIS_CACHE_SERVICE_HOST, ELASTICACHE_CLUSTER_SERVICE_HOST and REDIS_CLUSTER_SERVICE_HOST?
Based on the Redis requirements in the Novu docs
I need 2 clusters, where one is for queues with AOL enabled. That's why I have 2 Elasticache clusters (i.e. novu-redis-queu and novu-redis-cache).
  • But what happens if I use only 1 cluster (is that even possible)?
  • What happens if I use clusters that do not have AOL enabled (I assume I can still use the cluster, but I risk not persisting the data in the event something goes wrong)?
@Pawan Jain Wondering if you have any insight? Or if there's anyone in the team who would?
image.png
Was this page helpful?