一点背景知识。我有两个盒子 - 第一个盒子A运行Django,Postgres和Celery在后台运行一些异步任务。方框A连接到运行RabbitMQ代理的Box B和使用Celery发送到队列的任务的数据处理工作者(虽然这可能会在以后移到其他机器上)。
Celery工作得非常好,可以将任务发送到远程代理,我也在使用相同的RabbitMQ代理程序在任务完成后检索处理结果(文本或JSON)。
app = Celery('tasks', backend='amqp://broker', broker='amqp://username:password@broker/')
我的问题是这是否是良好做法以及是否会扩大规模? JSON /文本结果为20K-2MB。
谢谢
答案 0 :(得分:0)
没有人能为您解答这个问题 - 这取决于您的应用程序,网络等的具体情况。
如果您对预期的流量/工作量有所了解,那么您可以进行一些背后的计算,以大致了解您需要什么样的要求。
e.g。如果您可以预期有10,000个并发请求,则需要最多2MB * 10,000 = 10GB RAM用于redis,以及网络连接以匹配预期的吞吐量。