Comment by tracker1
11 years ago
I'm curious on the separate uses of Redis, RabbitMQ and Memcached... it seems these uses could all just use Redis. And have a lower overall memory/cpu footprint to boot.
11 years ago
I'm curious on the separate uses of Redis, RabbitMQ and Memcached... it seems these uses could all just use Redis. And have a lower overall memory/cpu footprint to boot.
Zulip use RabbitMQ for passing messages where persistence is desired; last I checked Redis didn't support persistent on-disk queues.
Zulip's use of redis right now is basically just for the API rate-limiting; it could be easily removed.
Redis does have persistence options... I was just thinking Redis is often used as a more advanced memcached, while also supporting pub/sub channels and acting as a mq broker with a frontend... was just thinking in terms of reducing the requisite services, since rabbitmq requires erlang and it's own services as well as memcached.
http://redis.io/topics/persistence http://python-rq.org/
In fairness, your parent introduced the word "persistence" to this discussion, but I think you're misunderstanding queues if you think the two are interchangeable.
Two things you often want are at-least-once delivery and the ability to queue messages without requiring the consumer to be connected. It requires a fair amount of work to get this to work in Redis. It's not simple configuration.
1 reply →
OK, well, I'd certainly be happy to review a plan to consolidate things (probably the development mailing list is a better place for a detailed discussion) that doesn't hurt performance.