Python/Django

[Django] 채팅 시스템 (1) Channels 적용 전/후 구조 비교

yubi5050 2022. 7. 15. 12:05

이번 글에서는 Django Channel 라이브러리와 적용 전/후의 구조에 대해 알아보았었다.

다음 글에서는 Django Channel을 이용한 채팅 시스템 구현을 해보려고 한다.

(+추가 트러블슈팅) Channels Websocket UUID가 포함된 URL 수신하는 법 (링크)

Django Channels 이란?

  • ASGI를 기반으로 만들어진 프로젝트로 Django 3.0 이상에서 Channels 기능을 제공
  • HTTP 프로토콜 외에 WebSocket(채팅), IoT 프로토콜 등 긴 연결 시간/많은 연결을 갖는 프로토콜 처리 가능
  • Django의 동기적으로 작동하는 Core 하위에 비동기 코드 작성
  • https://github.com/django/channels
 

GitHub - django/channels: Developer-friendly asynchrony for Django

Developer-friendly asynchrony for Django. Contribute to django/channels development by creating an account on GitHub.

github.com

 

Django Channels 적용 전 후 구조도 비교

channels channel Layer를 만들어, 여러 프로토콜(HTTP 프로토콜, Websocket 프로토콜 등 )을 연결 해 주고 각 프로토콜에 맞게 요청을 처리해준다.

이미지 출처 : https://wearecommunity.io/communities/tectoniques/articles/554

 

 

Nginx + Daphne + Django 참고 문헌

Daphne-django 서버 관련  참고 문헌

 

NGINX - Daphne 작성 관련

 

참고 문헌