【发布时间】:2014-08-11 15:43:09
【问题描述】:
我刚刚为 django 应用程序构建了我的第一个可扩展后端,但是我将消息队列服务 (RabbitMQ) 放在了负载平衡器机器上。我能够以多达 500 个并发用户围攻我的一些 API 路由,而没有严重的时间短缺,但我想知道将 MQ 服务放在其他地方是否会获得更好的性能。
我现在的设置:
应用请求 > 负载均衡器(nginx、rabbitmq)> 工作人员,2 个正在使用(gunicorn/celery)> db(postgres)
所以我目前有 4 个 AWS EC2 实例(全部为 m3.medium)连接在一个 VPC 中,为我完成所有这些工作。在工作节点上做rabbit没有多大意义,所以我只是想了解人们在做什么。
我也对如何最好地配置 gunicorn 感到好奇,但从我的搜索来看,除了实际工作人员的数量/类型之外,似乎没有太多其他问题。我的 AWS EC2 实例 (m3.medium) 只有 3 个/同步(使用异步工作者的性能更差)。
【问题讨论】:
标签: django nginx rabbitmq celery gunicorn