【问题标题】:Server Topology Help - Django and Twisted Possibility?服务器拓扑帮助 - Django 和 Twisted Possibility?
【发布时间】:2011-08-23 00:17:00
【问题描述】:

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

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

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

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

现在,我之前并没有真正使用过 Twisted,但我看到了很多有趣的东西。尤其是异步方面,以及运行多种协议的能力。

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

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

我在客户端(JS、CSS、HTML)方面经验丰富,但在服务器端我不是很精通。任何意见都会有所帮助,谢谢。

【问题讨论】:

  • 您是否考虑过像 Tornado 这样的异步 Web 服务器? (tornadoweb.org)

标签: python django web-applications twisted


【解决方案1】:

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

【讨论】:

  • 我之前遇到过 Alex Clemesha 链接,但想问这个问题,因为我看到很多帖子说两者可能不是最好的。与 Evennia 的链接很有见地,因为它是一个使用两者的成功项目。感谢您的意见。
猜你喜欢
  • 1970-01-01
  • 2016-08-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-28
相关资源
最近更新 更多