RSS DEV 커뮤니티

확장 가능하고 실시간 메시징 시스템 설계

본 논문은 WhatsApp과 유사한, 매우 확장성이 높은 분산 메시징 시스템 구축에 대해 논의합니다. 1:1 채팅, 텍스트 및 이미지 전송, 마지막 접속 시간, 읽음 확인과 같은 요구 사항을 충족해야 합니다. 시스템은 낮은 지연 시간, 높은 가용성, 지연 없음을 요구하는 실시간 시스템이어야 합니다. 아키텍처는 채팅 서버, 클라이언트 및 데이터베이스로 구성되며, 풀(pull) 및 푸시(push) 모델을 포함한 메시지 전달 모델에 중점을 둡니다. 푸시 모델은 WebSocket을 사용하여 실시간 메시지 전송을 가능하게 하며, WebSocket 핸들러는 활성 사용자와의 연결을 유지합니다. 시스템에는 연결을 추적하고 메시지를 저장하는 WebSocket 관리자와 메시지 서비스도 포함됩니다. 본 논문에서는 두 사용자가 모두 온라인 상태이거나 오프라인 상태일 때와 같은 다양한 사용 사례와 메시지가 데이터베이스에 저장 및 검색되는 방법에 대해 논의합니다. AWS DynamoDB와 같은 NoSQL 데이터베이스의 사용을 포함한 데이터베이스 스키마도 논의합니다. 시스템의 목표는 시스템의 효율성을 유지하면서 메시지를 즉시 전달하는 것입니다. 본 논문은 메시징 시스템이 빠르고, 안정적이며, 확장 가능해야 하며, WebSocket을 사용한 푸시 모델이 실시간 통신을 가능하게 한다고 결론짓습니다. 저자는 확장 가능하고 고성능인 분산 시스템 분야에서 10년 이상의 경험을 가지고 있으며, 클라우드 네이티브 아키텍처 및 데이터베이스 최적화 작업을 수행했습니다.
favicon
dev.to
Designing a Scalable and Real-Time Messaging System
기사 이미지: 확장 가능하고 실시간 메시징 시스템 설계
Create attached notes ...