2009-06-07 40 views
31

我正在構建一個Web應用程序,該應用程序具有我想通過長輪詢機制進行更新的實時饋送(類似於Facebook的新聞源)。我明白,在Python中,我的選擇很多都是使用Stackless(從他們的Comet wsgi示例構建)或Cometd + Twisted。不幸的是,有關這些選項的文檔非常少,我無法在網上找到有關Python上彗星生產規模用戶的良好信息。Python Comet服務器

有沒有人在生產系統中成功實現Python上的彗星?你是怎麼做到的?我在哪裏可以找到實現自己的資源?

回答

9

沿着我建議你使用StreamHub Comet Server - 它使用了大量的人 - 我個人使用它與我運行的幾個Django站點。您將需要編寫一點Java處理流 - 我使用Jython來完成此操作。前端代碼是一些真正簡單的Javascript一拉:

StreamHub hub = new StreamHub(); 
hub.connect("http://myserver.com/"); 
hub.subscribe("newsfeed", function(sTopic, oData) { alert("new news item: " + oData.Title); }); 

的文檔是相當不錯的 - 我有類似的問題,因爲你試圖開始使用的cometd等人的稀疏文檔。一開始我讀到Getting Started With Comet and StreamHub,下載並看到一些例子工作,並參考API文檔,如果你需要:

2

我還沒有做到這一點,但this guy已經寫了一篇關於它的好文章,用Django的例子和指針(我沒有選中)指向其他框架。

4

我已經完成了大量API使用扭曲的東西,其中大部分可在我的github帳戶。

大多數是客戶端,但slosh是我寫的服務器來做一個實時便宜的pubsub排序的東西。它通過允許簡單的流複製而水平地進行讀取。當你堅持使用普通的HTTP時,寫入會有點不同,但是我已經爲它演示了一個相當大的數量。

否則,您擁有大多數XMPP服務器支持的全功能BOSH,並且可以讓您將消息分發與Web前端分離。

13

Orbited似乎是一個不錯的解決方案。還沒有嘗試過。


更新:事情已經過去2.5年改變。

我們現在在所有主流瀏覽器中都有websockets,除了IE(自然地)和一些非常好的抽象概念,它提供了許多仿真實時通信的方法。

+0

軌道的缺點是文檔太少。 – 2011-10-11 04:39:35

+0

軌道和鏈接似乎已經死了?它現在導致一個關於健康生活方式的故事和其他類似的博客.. – twity1337 2018-02-10 13:40:59

1

軌道式和Redis解決方案很好,但是當您擁有Google發佈的PubSubHubbub之類的東西時不再相關。這使得成爲給定Feed的發佈者或訂閱者變得非常容易。 http://code.google.com/p/pubsubhubbub/

相關問題