服务器拓扑帮助 - Django和Twisted可能性?

时间:2011-08-23 00:17:01

标签: python django web-applications twisted

我目前正在开发一个复杂的Web界面和后端,需要解决几个问题。

  • Scalablility
    • 多种不同负载需求的部署
  • 非常结构化的授权组
    • 不同用户组的不同视图
    • 管理员面板
      • 用户/内容管理
  • 大型托管数据库
    • 当前
    • 长期存储的数据(历史记录)
  • 数据更新
    • 轮询
      • 实施例。搜索查询,静态页面/文件,每个请求的报告生成
    • 推(可能是websockets)
      • 实施例。实时通知
  • 不同的协议
    • 实施例。 HTTP,SSL,Websockets

我想使用Python,因为我已经成长为非常喜欢这种语言,我正在考虑Django和Twisted的一些组合。

我有一些Django的经验,我喜欢它的MVT风格的应用程序编程,它的授权模型,它的管理面板和它的数据库API。但是,在我需要的某些数据要求中,特别是实时方面,它并不是那么强大。

现在,我之前没有真正使用过Twisted,但我看到了很多有趣的事情。特别是异步方面,以及运行许多协议的能力。

让两者协同工作的问题很明显,因为Django是一个阻塞服务器而Twisted是非阻塞的。我已经看到一些主题说明使用这两个是可能的,并取得了成功。它似乎也可以同时运行并代理它们以接受不同的URL,但是通过这两个URL进行身份验证可能会变得棘手吗?

说完所有这些之后,我想问一下我是否在实施这个系统的正确轨道上,以及如何将两者结合使用的建议,替代方案,或者我是否应该踢出一个(在这一点,我想它必须是Django,因为实时的东西是必要的)。我应该提一下,我已经在Django中编写了一些初步的数据模型和视图。

我在客户端(JS,CSS,HTML)上非常有经验,但我在服务器方面并不那么精明。任何输入都会有所帮助,谢谢。

1 个答案:

答案 0 :(得分:1)

你绝对可以使用Twisted with Django。有几个项目used the two together效果良好。 twistd web --wsgi provides a basic way to get it set up,Alex Clemesha在github上有a great example with more bells and whistles, like static content