← Back to context

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.

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.