【发布时间】:2014-04-16 06:02:10
【问题描述】:
我的应用程序处于十字路口 - 我正在使用 python/django、mysql 和 ubuntu 12.04
我的应用程序将在线访问其他应用程序,为其路径结构制作索引并提交表单。如果您认为这种情况发生在 10 或 100 多个帐户每个拥有 1 个或多个域名的情况下,性能可能会有点失控。
我最初的想法是设置一个 ec2 环境,将访问每个域上所有这些路径的负载分配给多个 ec2 实例,每个实例都运行 celery/rabbitmq 以在这些 ec2 实例之间分配处理负载。
问题是 - 我想存储提交我访问的表单的结果。我读到我可能需要使用 nosql 数据库(例如 hadoop、redis 等)。
我的问题是:
- 是否有不同的方式将 celery/rabbitmq 与 SQL-db 一起使用,有哪些优点/缺点? 我可以看到不得不使用 nosql 的一个问题:学习曲线。
- 其次:是否有其他方法可以分配在多个 ec2 环境中同时运行的多个 python 脚本的(处理)负载?
谢谢。
【问题讨论】:
-
当然可以用多台运行 celery 的机器来做到这一点。它将任务分发给从节点。至于 nosql,我会研究 redis 和 mongodb。两者都擅长他们的工作。
标签: python django performance hadoop amazon-ec2