Pracuję nad WebApp przy użyciu backbone.js i socket.io po stronie klienta i Django po stronie serwera. Chciałbym zrobić "push" z serwera podczas zmiany danych (tak jak w aplikacji do czatu). Natknąłem dwa realizacji socket.io w Pythonie z integracji Django, który wyglądał obiecująco:Jaki jest najlepszy serwer socket.io do użytku z Django - gevent lub tornadio2?
- django-socketio która opiera się na gevent i gevent-socketio
- integracje Tornado używające torandio2 takich jak tornadio-with-django i django-tornadio
Zarówno gevent, jak i tornado mają very good performance, więc nie interesują mnie inne asynchroniczne struktury połączeń. Jedynym wymaganiem jest użycie protokołu SSL dla połączenia - bez przesyłania zwykłego tekstu.
Pomiędzy tymi dwoma podejściami, które byłyby najłatwiejsze do wdrożenia? Czy istnieje dobry system oparty na subskrypcji dla tornadio2, podobny do tego, w jaki sposób django-socketio robi to dla gevent?
Inną opcją, z którą się zetknąłem, jest django-serverpush, która również bazuje na TornadIO2. Lepiej integruje się z Django niż z innymi aplikacjami TornadIO2, ale implementacja wymaga jeszcze poprawy, zanim stanie się gotowa do produkcji.
Z moich badań wynika, że ich wydajność jest porównywalna, więc nie będzie to czynnikiem. Bardziej przejmowałem się tym, jak mocno integrują się z Django, łatwiej się z nimi pracuje i są lepiej utrzymywane. –
Poszedłbym z Django-SocketIO, gdybym był tobą. – stormlifter