실시간통신
TRANSCRIPT
실시간 통신의 활용Tornado.Socket.io.uWSGIandDjango
실시간 통신이란 ?
여러분이 아는 그거요…
채팅
Stateless 한 http 에 좀더 State 스러움을 준다 .
웹에서 실시간 통신을 구현하는 방법
Comet, Long Polling
WebSocket
Comet, Long Polling
용어만 다를뿐 같은 개념
나름 손쉽게 구현이 가능함
기존의 기술로는 서버 리소스를 너무 많이 먹음
쳐묵쳐묵스러운 기술
WebSocket
Cutting Edge
HTML5
다양한 기능과 높은 성능
그리고 낮은 호환성 ㅠㅠ
Socket.io
Node.js 의 Killer app
브라우저용 JS 와 Node.js 용 JS 가 한세트
브라우저에 따라 WebSocket, Long Polling 자동선택
상당히 많은 커넥션을 처리할수있음
Tornado
Python 으로 구현된 웹서버
Non-blocking 으로 구현됨
(Pure Python 임을 고려할때 ) 매우 빠름
SockJS
Socket.io 와 유사함
Socket.io 보다 Client Side 의 선택지가 적음
하지만 Server Side 의 선택지는 훨씬 많음
http://mrjoes.github.io/2011/12/15/sockjs-bench.html
https://github.com/sockjs
uWSGI
위스키
WSGI 서버중 일반적으로 가장 빠름
매우 다양한 언어를 지원
기능이 매우 다양함
설정이 복잡한편