Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Choosing and deploying a comet server

I want to push data to the browser over HTTP without killing my django/python application.

I decided to use a comet server, to proxy requests between my application and the client (though I still haven't really figured it out properly).

I've looked into the following engines: orbited cometd ejabberd jetty

Has anyone had any experience working with these servers and deploying them? Any insight and links regarding the topics would be great. Thank you.

like image 285
skyronic Avatar asked Mar 07 '09 12:03

skyronic


3 Answers

I would recommend looking into Twisted, their twisted.web server, and the comet work done on top of it at Divmod. They can handle far more concurrent connections than traditional thread or process based servers, which is exactly what you need for something like this. And, yes, I've architected systems using Twisted for COMET stuff, while using other things for the more front-facing web applications beside it. It works out well with each part doing what it does best.

like image 152
Matthew Burr Avatar answered Nov 03 '22 17:11

Matthew Burr


I need to do something very similar. I found this, but haven't had the time to look at it properly yet:

django_evserver is simple http server for Django applications. It's based on libevent library. The main advantage of django_evserver is that it provides methods of preempting django views. You can render a site in several chunks, each of them can be handled by different django view.

Using this idea it's possible to use django_evserver as comet server for django applications.

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

like image 21
Tiago Avatar answered Nov 03 '22 16:11

Tiago


One option is Netty, client-server socket framework based on Java NIO from JBoss. For a comparison and discussion see here. It reportedly handles 100000 simultaneous open connections on a quad-core server.

like image 41
Paweł Hajdan Avatar answered Nov 03 '22 18:11

Paweł Hajdan