Ent Remote Redis - contribsys/faktory GitHub Wiki
Faktory Enterprise can use a remote Redis instance.
Configuration
To use a remote instance, pass in a REDIS_URL
environment variable to Faktory.
REDIS_URL=redis://redis.example.com /usr/bin/faktory
Alternatively if your Redis SaaS exposes FOO_REDIS_URL
to your app, you can set REDIS_PROVIDER
:
REDIS_PROVIDER=FOO_REDIS_URL /usr/bin/faktory
That's it. The /debug page will show the Redis location being used and report the RTT to the Redis instance for performance monitoring and tuning purposes.
Elasticache
You can use Faktory Enterprise with an Elasticache Redis instance, just make sure that cluster mode is disabled. Faktory does not support cluster mode; Redis Clustering is designed for caching workloads, not transactional workloads like Faktory.
Notes
- RTT is very important and should be kept below 1000 µs for good performance.
- Redis should be configured with the
noeviction
maxmemory-policy or else it can throw away random Faktory data when overloaded, which will cause mysterious errors. - Faktory cannot share a Redis database with other instances of Faktory, Sidekiq or any other app. Faktory instances can share the same Redis instance as long as they use different Redis databases on the instance; i.e.
redis://hostname:6379/0
andredis://hostname:6379/1