Skip to content

[12장] 채팅 시스템 설계 MVP #14

Description

@tongnamuu

채팅 MVP 구현

목표

  • 최대 100명의 사용자가 참여할 수 있는 채팅 기능
  • 1 대 1 채팅 기능
  • 사용자 접속 표시
  • 다양한 단말 지원 -> 웹에서만 지원
  • 푸시 알림 -> 웹 alert 혹은 다음 기회에...
  • 사진, 미디어 -> 텍스트만 처리

대용량 시스템 개념

  • 소켓 통신에서의 수평적 확장(서버 추가)
    • 무중단 배포
    • 서버 죽었을 때 클라이언트를 다른 서버로 연결
  • 채팅 이력 보관
    • 1:1 채팅
    • 그룹채팅

구현할 것

기능 구현

여러명 참여하는 채팅방 구조

  • 로컬에서 개발완료하고
  • 상용올리는건 어느정도 완료되고나서..
  • 소켓 기반 채팅 서버
    • 클라이언트로부터 메시지 수신
    • 메시지 수신자 결정 및 전달
  • 접속 상태 서버
  • 간단한 FE
    • 메시지 발행 폼
    • 메시지 수신 및 노출
  • 메시지 저장
  • 새로 들어온 유저가 이전 채팅내역 보기

  • 시간순 정렬이 가능한 메시지 Id 생성
  • 접속사용자 표시 ->
    • 간단한 로그인

세부 사용 기술

  • socket
    • advance - graphql subscription
  • chat message
    • confluent kafka(broker)
  • service discovery -
  • server language - Java or Go

참고자료

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions