2011-08-23 68 views
1

我目前正在研究複雜的Web界面和後端,這將需要解決幾個問題。服務器拓撲幫助 - Django和扭曲的可能性?

  • Scalablility
    • 多個不同的負載的部署要求
  • 非常結構化的授權組
    • 對於不同的用戶組的不同視圖
    • 管理面板
      • 用戶/內容管理
  • 大管理數據庫
    • 當前
    • 長期存儲的數據(歷史)
  • 數據更新
    • 輪詢
      • 例。搜索查詢,靜態網頁/文件,報表生成每個請求
    • 推(可能的WebSockets)
      • 例。實時通知
  • 變化的協議
    • 例。 HTTP,SSL,WebSockets的

我想使用Python,因爲我已經成長爲真正享受到語言,我正在考慮Django和扭轉的,所以一些組合。

我對Django有一些經驗,我喜歡它的MVT風格的應用程序編程,授權模型,管理面板和數據庫API。但是,在某些數據要求方面,我不需要那麼強大,特別是實時方面。

現在,我還沒有真正使用扭曲之前,但我看到了很多有趣的事情。特別是異步方面,以及運行許多協議的能力。

讓兩者一起工作的問題很明顯,因爲Django是一個阻塞服務器,Twisted被設計爲非阻塞的。我已經看到了一些主題,說明使用這兩個主題是可能的,並已取得成功。似乎也可以運行兩者並將它們代理爲接受不同的URL,但是通過兩者來驗證可能會變得棘手?

說了這麼多,我想問一下我是否正在實施這個系統的正確軌道,以及如何一起使用這兩者的替代方案或者我應該踢出一個在這一點上,我想它必須是Django,因爲實時的東西是必要的)。我應該提到我已經在Django中編寫了一些初步的數據模型和視圖。

我對事物(JS,CSS,HTML)的客戶端有相當的經驗,但我在服務器端並不那麼聰明。任何輸入都會有幫助,謝謝。

+0

您是否考慮過像Tornado這樣的異步Web服務器? (http://www.tornadoweb.org/) –

回答

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

+0

我以前遇到過Alex Clemesha的鏈接,但想問這個問題,因爲我看到很多帖子說這兩個可能不是最好的。與Evennia的聯繫非常有見地,因爲它是一個成功的項目。感謝您的輸入。 – jyore