我是RabbitMQ之类的消息代理的新手,我们可以使用它们为Celery这样的调度系统创建任务/消息队列。
现在,这是一个问题:
我可以在PostgreSQL中创建一个表,该表可以附加新任务,并由用户程序(如Celery)使用。
为什么在地球上我想为此设置一种全新技术,例如RabbitMQ?
现在,我相信扩展无法解决问题,因为像PostgreSQL这样的数据库可以在分布式环境中工作。
我搜索了数据库针对特定问题带来的问题,然后发现:
- 轮询使数据库繁忙且性能低下
- 锁定表->再次表现不佳
- 数百万行的任务->再次,轮询性能低下
现在,RabbitMQ或类似的任何其他消息代理如何解决这些问题?
另外,我发现该AMQP
协议是遵循的。那有什么好呢?
可以Redis的也可以用作消息代理?我发现它比RabbitMQ更类似于Memcached。
请对此有所说明!
celery
”-我刚刚从问题中学到了一些对我的设计有用的东西。现在阅读答案...