sql >> Base de Datos >  >> NoSQL >> Redis

¿Puedo usar Tornado+ Celery+ RabbitMQ + Redis?

Estoy usando Tornado y RabbitMQ (sin Celery) juntos con mucho éxito en este momento. También hice algunos prototipos con Redis conectado al sistema como una base de datos. Su mejor oportunidad de éxito es encontrar bibliotecas asíncronas que puedan conectarse al ioloop de Tornado. Por ejemplo, hay tornado-redis, pika (para RabbitMQ) y tornado-celery. Debo agregar que nunca he usado tornado-celery, por lo que no estoy seguro de su calidad.

Desde un punto de vista puramente arquitectónico, no creo que haya nada de malo en usar Redis y RabbitMQ juntos. Si bien ambos se pueden usar como intermediarios de mensajes, RabbitMQ no es realmente apropiado para usar como caché, mientras que Redis es adecuado para ese caso de uso. Si estuviera usando Memcached en lugar de Redis, no parecería nada inusual, ¿verdad?

Además (y quizás este es el mejor argumento que puedo presentar para sugerir que Redis + RabbitMQ puede funcionar), Pinterest aparentemente usa (o al menos usa) ambos para ejecutar su sitio:http://blog.gopivotal.com/pivotal/case- estudios-2/usando-redis-en-pinterest-para-billones-de-relaciones.

Encontré otra fuente que dice que eventualmente reemplazaron Celery/RabbitMQ con otra solución, pero claramente les funcionó por un tiempo.

editar: ¡Encontré un enlace de Quora de 2011 que dice que en realidad también estaban ejecutando Tornado!