기술적 의사 결정
채팅 기능:
실시간으로 AI와 메시지를 주고 받는 기능을 통해 영어 회화 능력을 향상시킬 수 있는 서비스
Channels
client와 server 사이의 실시간 양방향 *통신 및 비동기 처리가 능하도록 해주는 기능들을 모아놓은 library
- WebSocket
- 연결이 유지되는 동안 실시간 양방향 통신을 지원
- * Redis와 연동
- 데이터를 Cache memory에 저장하기 때문에 빠르게 메시지 전달이 가능
- 여러 server에 분산시켜 관리하는 scale out 방식으로 많은 user의 handling이 가능
- *redid server에 수평적 확장(scale out)이 용이하여 트래픽 상승 대비하여 유연하게 대응이 가능
- 메시지를 전달하는 시스템으로, publisher(메시지를 보내는 사람)과 subscriber(메시지를 받는 사람) 사이의 message broker 역할을 함
- Consumers
- 채팅에 참여하는 각각 개인을 consumer instance라고 함
- Redis의 Pub/Sub과 consumer instance와의 메시지 중개자 역할
- WebSocketConsumer class: SebSocket 처리를 위한 기능 제공
- 웹 소켓 연결/연결 해제
- 데이터 송/수신 기능
- overwritting을 통한 특정 동작 추가/재정의
'Computer Programming > AI' 카테고리의 다른 글
TIL_장바구니 비움과 주문 내역 저장 (1) | 2023.12.08 |
---|---|
TIL_PortOne을 이용한 결제 시스템 (1) | 2023.12.06 |
TIL_Process Flow (1) | 2023.11.23 |
TIL_Decorator in Python (1) | 2023.11.21 |
TIL_When to use Redis? (1) | 2023.11.20 |