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:
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?1 Reply
@Pawan Jain Hey, just following up. It seems the reason
workflowQueue
was down was because I set my Elasticache with TLS; however, I did not provide REDIS_TLS
env.
Can I get some clarity on the distinction between Redis
, Redis (for caching)
and Redis (for cluster)
seen here
More specifically, what's the difference between REDIS_HOST
and REDIS_CACHE_SERVICE_HOST
?