2010-07-07 114 views
0

我對python中的web編程非常新穎。python上的彗星

我有興趣在瀏覽器上建立聊天室。 (用於原型)。 我知道django很好,並且在過去做了一些扭曲。

然後我碰到了軌道。 這是相當嚴重的記錄(我不認爲這實際上是文檔資格反正),但這些條件似乎彈出相當頻繁:

  1. 繞行
  2. 扭曲
  3. MorbidQ,ActiveQ和bascially一一羣MessageQueue技術

我在軌道網站上做了一些例子,但它們似乎並沒有解釋真正的一切如何協同工作。

我的問題是:

  1. 我一直看到的[聽]指令http://:9000。根據他們的主要網站,「監聽部分描述Orbited應該用來接受瀏覽器連接的接口和端口。」 AFAIK,標準瀏覽器使用端口80進行通信。我認爲這個端口是用於orbited.js連接到服務器的彗星技術?如果8000被阻止會發生什麼? (像學校/組織中的大多數防火牆背後一樣)

  2. 我一直看到這個詞代理。我不知道這個框架組合如何適合實際代理

  3. 與扭曲和軌道的關係。軌道是建立在扭曲的頂部(如果我沒有錯)。那麼爲什麼有那麼多的例子討論使用軌道上的扭曲的TOP?爲什麼我首先需要扭曲?我可以在nginx上使用軌道嗎? (同樣,搜索nginx和軌道結果的結果中包含代理字詞,這是怎麼回事?)

  4. 關於http://anirudhsanjeev.org/tutorialhow-to-django-comet-orbited-stomp-morbidq-jsio/,作者使用xml-rpc服務器。有人能解釋爲什麼嗎? (好吧,他說「你不能在你的django視圖裏啓動一個反應堆發送/接收系統」,但是爲什麼我們甚至需要首先在內部運行一個反應堆呢?是不是繞着扭曲的軌道運行?Shouldn因此它有自己的反應堆嗎?)

  5. Morbidq將自己描述爲「Morbid是一個STOMP發佈/訂閱服務器,完全沒有集羣潛力,它支持發佈/訂閱主題,並且作爲單個節點運行。我們爲什麼需要這個?彗星不解決這個問題嗎?爲什麼我會繼續看到結合了一系列看似相似但具有明顯區別的技術的教程?

  6. 我想要做的就是構建一個簡單的網聊應用程序。看到這個後,我意識到可能使用軌道式和扭曲式,morbidq和django等可能太麻煩。 (當然,我正在計劃使其可擴展性)。

  7. 我看着龍捲風,沒關係,但在社區方面有點小。除了允許非阻塞連接(我在IRC上學到這一點)之外,它並不真正做彗星。我是否真的需要所有特殊的彗星技術,或者長時間投票能滿足我?(用於簡單的網絡聊天應用程序)

  8. 什麼是大公司使用?什麼是大公司正在應用的標準事實上的彗星框架? (如Facebook,gtalk和twitter?)這些是可用的python?

任何幫助任何問題將不勝感激。

回答

0

嗯,我正在努力相同,我想我可以回答一些問題,以供將來參考。

1)如果該端口的訪問被阻止,您的網站將無法與Orbited通信。

2)代理是很多事情,把它想象成「重定向」,nginx作爲代理。 3)軌道是建立在扭曲的基礎上的,但它啓動了它自己的Twisted服務器。當與扭曲的人相關時,可能會談論他們自己構建在Twisted中的應用程序,而不是Django或其他應用程序。

4)您可以避免RPC,並通過post/get請求將消息放入隊列中直接從Django腳本中刪除,他可能希望構建更多......法人團體。

5)morbidQ是一個隊列系統。彗星只是一個概念。框架是爲了解決某些問題而建立的,可能有其他類似的解決方案,但並不完全適合這種情況。我個人用rabbitMQ替換了morbidQ。

6)你是對的,可伸縮性更依賴於你的編碼而不是你選擇的技術。

7)龍捲風很棒。所有被認爲特殊的東西都沒有完整的瀏覽器支持,而長時間輪詢卻沒有。 8)他們從未開放他們的彗星解決方案。但沒有什麼大不了的。我認爲ruby在這個問題上更加發展。

希望它有助於未來網絡衝浪者!