이번 글에서는 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
Django Channels 적용 전 후 구조도 비교
channels channel Layer를 만들어, 여러 프로토콜(HTTP 프로토콜, Websocket 프로토콜 등 )을 연결 해 주고 각 프로토콜에 맞게 요청을 처리해준다.
Nginx + Daphne + Django 참고 문헌
Daphne-django 서버 관련 참고 문헌
- https://channels.readthedocs.io/en/latest/deploying.html
- https://saurabhgujjar.medium.com/django-channels-with-daphne-gunicorn-and-nginx-on-digitalocean-all-in-one-guide-28625eead962
NGINX - Daphne 작성 관련
- https://stackoverflow.com/questions/46175452/django-channels-nginx-production
- https://stackoverflow.com/questions/72775881/django-channels-unable-to-connectfind-websocket-after-docker-compose-of-projec
참고 문헌
'Python > Django' 카테고리의 다른 글
[Django] Timezone 한국 시간으로 설정하기 (0) | 2022.07.17 |
---|---|
[Django] 채팅 시스템 (2) 코드 구현하기 (with. FE, BE) (0) | 2022.07.15 |
[Django, MySQL] Django MySQL 셋팅하기 (0) | 2022.07.13 |
[Django, AWS] EC2 에서 Nginx + Gunicorn + Django 배포하기 (0) | 2022.07.12 |
[Django] Django CORS 설정하기 (0) | 2022.06.30 |