簡體   English   中英

選擇和部署彗星服務器

[英]Choosing and deploying a comet server

我想通過 HTTP 將數據推送到瀏覽器而不殺死我的 django/python 應用程序。

我決定使用彗星服務器來代理我的應用程序和客戶端之間的請求(盡管我還沒有真正弄清楚)。

我研究了以下引擎:軌道彗星 ejabberd 碼頭

有沒有人有使用這些服務器和部署它們的經驗? 關於這些主題的任何見解和鏈接都會很棒。 謝謝你。

我建議研究 Twisted,他們的 twisted.web 服務器,以及在 Divmod 上完成的彗星工作。 與傳統的基於線程或進程的服務器相比,它們可以處理更多的並發連接,這正是您對此類事物所需要的。 而且,是的,我已經使用 Twisted 構建了用於 COMET 的系統,同時將其他東西用於更前端的 web 應用程序。 每個部分都做它最擅長的事情,效果很好。

如果你可以運行 Java 我會推薦StreamHub Comet Server

首先,考慮到您不需要“殺死”現有應用程序,JavaScript 包含的占用空間非常低,不到 10K。 我用它來推送用戶更新和在我正在構建的社交網站上聊天。 我每天進行 1000 次以上的測試,對 CPU 沒有明顯影響。

其次,在部署時,我遵循了一些示例,並且與使用 CometD 將我的頭撞到牆上相比,我的啟動和運行速度非常快。 如果您遇到任何問題,這里有一個很好的Comet Hello World入門指南和一個Google 群組

一種選擇是 Netty,基於 JBoss 的 Java NIO 的客戶端-服務器套接字框架。 有關比較和討論,請參見此處 據報道,它在四核服務器上同時處理 100000 個打開的連接。

如果您正在運行 IIS,您可以查看 WebSync ( http://www.frozenmountain.com/websync ),這是一個符合標准的 (bayeux) 彗星服務器和 .NET/IIS 客戶端。 如果您不想要額外的負載,按需版本是一個 SaaS 選項,可以減輕繁重的工作。

如果您希望將 Django 與 Comet 服務器(Orbited)結合使用,請檢查此項目,我將在此處將 Django 和 Orbited 集成為“干凈”和“真實世界”: Z80791B3AE7002CB8F8C246克萊梅沙/熱點

該項目解決了“現實世界”問題,例如安全性和記錄/過濾/修改在途 Comet 消息等 - 但仍在進行中。

我需要做一些非常相似的事情。 我找到了這個,但還沒有時間正確查看它:

django_evserver 是簡單的 http 服務器,用於 Django 應用程序。 它基於 libevent 庫。 django_evserver 的主要優點是它提供了搶占 django 視圖的方法。 您可以在幾個塊中渲染一個站點,每個塊都可以由不同的 django 視圖處理。

使用這個想法,可以使用 django_evserver 作為 django 應用程序的彗星服務器。

http://code.google.com/p/django-evserver/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM