채팅서비스 배포시 구성
449
작성한 질문수 6
서비스 배포관련해서 질문이 있습니다.
#1. redis서버 설치
보통 서비스 배포시 redis서버는 어떻게 구성하나요? 구글링을 통해서 봤을때는 많은 경우, ec2내에 redis를 설치하는 모습이 보여서요. 보통 그렇게 진행하는지?
#2. 가장 많이 사용하는 서버구성
기본적으로 daphne가 받아서, http는 wsgi로, ws는 asgi로 보내는데. 어떤 곳에서는 Nginx로 daphne에게 ws만 넘기는게 좋다는 이야기도 있고 해서요. 보통 장고 channels로 개발시 서버는 어떤 구조가 많이 사용되나요?
#3. daphne가 https도 wsgi로 잘 보내는지?
application = ProtocolTypeRouter({
"http": django_asgi_app,현재 코드상에는 이렇게 해놓았는데, https처리하려면 추가적인 코드수정이 필요할까요?
답변 1
0
안녕하세요. :-)
#1. redis 서버를 직접 설치하는 경우는 관리의 부담이 있겠고, 각 클라우드 벤더에서 제공하는 관리형 서비스는 관리의 부담이 적은 대신 비용의 부담이 있습니다. 서비스 상황에 맞춰 선택이 필요합니다.
#2. asgi 배포에서 요즘 gunicorn + uvicorn 조합을 많이 사용하고 성능도 좋습니다. 처음에는 gunicorn + uvicon 조합으로 하나로 처리해보시다가, websocket과 http 요청에 대해서 각기 다른 scale out 전략이 필요할 수 있으니 트래픽에 따라 websocket과 http 요청을 처리하는 프로세스를 따로 운영해보셔도 좋습니다. http 요청 부분만 따로 뽑아서 서비스하실 때에는, 다른 wsgi 구동방법과도 성능 비교를 해보세요.
#3. 웹 클라이언트 요청을 받는 Gateway (nginx 등)에서는 https로 요청을 받고, 그 뒷 단에서는 http로만 요청을 처리하는 경우가 많습니다. 그리고 ProtocolTypeRouter에서는 http 타입도 https 를 처리할 수 있습니다만, 추가로 daphne 구동 시에 인증서 까지 지정해주셔야 합니다.
공식문서 : https://github.com/django/daphne#running
화이팅입니다. :-)
유저목록 확인 문제 질문드립니다.
0
164
2
안녕하세요 선생님,
0
91
1
하나의 채팅방만 만들어보려고 하는데 잘 안되고 있습니다.
0
103
1
도커와 연동 관련 질문드립니다.
0
205
3
채팅방 참여자 목록 - 채팅방 입장/퇴장 실시간 이벤트 처리
0
165
2
안녕하세요, onopen() 문제로 질문드립니다.
0
137
2
Consumer Instances 관련 질문 있습니다.
0
72
2
안녕하세요, 요청은 채널스에서 먼저 받고, http 요청은 장고를 통해서 처리한다고 하셨는데요.
0
79
2
기능 구현 질문 드립니다.
0
115
1
git에 있는 코드를 다운 받아 실행 해봤는데 에러가 났습니다.
0
153
2
ValueError: No route found for path 'ws/liveblog/'.
0
134
2
지정 경로에 템플릿 파일 만드는 단축키가 뭔가요?
0
121
2
채팅 내역을 영구적으로 저장하고 싶습니다.
0
89
1
질문이 있습니다.
0
164
1
구독 채팅 구현
0
213
1
헷갈려서 질문드립니다.
0
356
2
@login_required 장식자를 적용한후에는 로그인을 성공하면 채팅방으로 어떻게 이동을 하는 건가요?
1
276
1
docker run -d --restart always --name redis7 --publish 6379:6379 redis:7
0
261
1
websocket 자바스크립트 클라이언트 구현?
0
361
1
메세지 리액션 : 좋아요. 질문 드립니다.
0
359
1
{유저명}님이 메세지 입력 중입니다. 메세지 질문드립니다.
0
610
1
채팅 로비에서 유저수 노출을 위하여
0
326
1
채팅방에서 마지막 유저가 나가면 채팅방 자동 삭제 질문드립니다.
0
432
1
동기방식의 consumer 클래스와 비동기방식의 consumer클래스의 차이가 뭔지 궁금합니다.
0
425
1





