Django中的并发加载处理

我正在为我的新Web项目使用Django。 它基本上是一个Quora克隆。 比方说,我有一个问题,并在它下面的Upvote按钮。 如果大约8-9k人同时点击Upvote按钮(同一个问题),我该如何处理? 我使用Nginx作为前端服务器,Apache使用后端服务器? 我应该用什么来处理这种负载量?


答案取决于你如何存储选票。 在担心网络服务器的负载之前,您必须确保您没有竞争状态。

考虑到你不这样做,一个简单的提升可以缓存提交给键值存储(例如Redis)的投票,或者如果你有一个规范化的数据库,甚至可以更好地将它用作聚合器。

另一种选择是使用Celery的异步任务来排列投票。

链接地址: http://www.djcxy.com/p/86451.html

上一篇: Concurrent load handling in Django

下一篇: POSIX Threads not producing speed up in C