문제

나는 긴 폴링 메커니즘을 통해 업데이트하려는 실시간 피드(Facebook의 뉴스피드와 유사)가 있는 웹 애플리케이션을 구축 중입니다.저는 Python을 사용할 때 Stackless(Comet wsgi 예제를 기반으로 구축)를 사용하거나 Cometd + Twisted를 선택한다는 것을 이해합니다.불행히도 이러한 옵션에 관한 문서는 거의 없으며 Python에서 Comet의 생산 규모 사용자에 대한 좋은 정보를 온라인에서 찾을 수 없습니다.

프로덕션 시스템에서 Python으로 Comet을 성공적으로 구현한 사람이 있습니까?어떻게 이를 수행하게 되었으며 직접 구현하기 위한 리소스는 어디에서 찾을 수 있습니까?

도움이 되었습니까?

해결책

사용해야합니다 Streamhub Comet Server - 많은 사람들이 사용합니다 - 개인적으로 나는 실행하는 두 개의 django 사이트와 함께 사용합니다. 스트리밍을 처리하려면 약간의 자바를 작성해야합니다. Jython. 프론트 엔드 코드는 실제 간단한 JavaScript A LA입니다.

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

문서는 꽤 좋습니다. Cometd et al.의 희소 문서를 시작하려고 할 때 비슷한 문제가있었습니다. 시작하기 위해 나는 읽을 것이다 Comet과 Streamhub로 시작합니다, 필요한 경우 일부 예제가 작동하는 방법을 다운로드하고 API 문서를 참조하는 방법을 확인하십시오.

다른 팁

궤도 좋은 해결책 인 것 같습니다. 그래도 시도하지 않았습니다.


업데이트: 지난 2.5 년 동안 상황이 바뀌 었습니다.

우리는 이제 모든 주요 브라우저에 Websockets가 있으며, IE (자연스럽게)와 그에 대한 몇 가지 매우 좋은 추상화를 제외하고는 실시간 커뮤니케이션을 모방하는 많은 방법을 제공합니다.

다음은 Django, 궤도를 결합하고 Twisted를 결합하여 실시간 (Comet) 앱을 만드는 모든 기능을 갖춘 예입니다. http://github.com/clemesha/hotdot 파이썬 사용.

나는 그런 작업을 위해 Twisted를 사용하여 수많은 API를 수행해 왔으며 대부분은 내 웹 사이트에서 사용할 수 있습니다. 깃허브 계정.

대부분은 클라이언트측이지만 튀기는 소리 실시간으로 저렴한 pubsub 같은 작업을 수행하기 위해 작성한 서버입니다.간단한 스트림 복제를 허용하여 읽기에 대해 다소 수평으로 확장됩니다.일반 HTTP를 사용하면 쓰기가 약간 다르지만 데모를 위해 상당한 양을 밀어넣었습니다.

그렇지 않으면 대부분의 XMPP 서버가 지원하는 완전한 BOSH를 갖게 되며 이를 통해 웹 프런트엔드에서 메시지 배포를 분리할 수 있습니다.

나는 그것을하지 않았지만 이 남자 Django 예제와 포인터 (내가 확인하지 않은)와 함께 다른 프레임 워크에 대한 좋은 기사를 보유하고 씁니다.

궤도 및 Redis 솔루션은 훌륭하지만 Google이 발표 한 PubSubhubbub와 같은 것이있을 때 더 이상 관련이 없습니다. 이를 통해 주어진 피드의 게시자 또는 가입자가되기가 매우 쉽습니다. http://code.google.com/p/pubsubhubbub/

다음은 Gevent와 Django와 함께 오랫동안 롤링하는 예입니다..

사용합니다 그린 렛 -Cpython 확장으로 패키지 된 스택리스 패키지의 스택 스위칭 기능.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top