Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BE] feat: WebSocket DirectMessage(채널 x) 구축 #22

Open
3 of 7 tasks
toychip opened this issue Feb 3, 2025 · 0 comments
Open
3 of 7 tasks

[BE] feat: WebSocket DirectMessage(채널 x) 구축 #22

toychip opened this issue Feb 3, 2025 · 0 comments
Assignees
Labels

Comments

@toychip
Copy link
Collaborator

toychip commented Feb 3, 2025

✨ Feature

Issue Description

1:1 채팅 기능을 구현하기 위해 다음 기술을 활용합니다.

  • Kafka Cluster: 메시지 브로커 역할 수행 (파티션: 3개, 리플리케이션 팩터: 2)
  • STOMP(WebSocket): 클라이언트 간 실시간 통신
  • 메시지 순서 보장: Kafka에서 Key 기반 메시지 전송을 통해 메시지 순서를 유지

check-lists

  • Kafka Producer: 클라이언트에서 보낸 메시지를 Kafka로 전송
  • Key를 사용하여 같은 대화방 메시지는 동일한 파티션에 할당
  • Kafka가 메시지 순서를 보장할 수 있도록 Partition Key 적용
  • Kafka Consumer: Kafka에서 메시지를 받아 WebSocket을 통해 전송
  • STOMP WebSocket 연동: 클라이언트가 메시지를 실시간으로 받을 수 있도록 구현
  • Direct Message 저장: 데이터베이스에 메시지 기록
  • 사용자 상태 관리: 접속/종료 상태 관리 (stateTopic 활용)
@toychip toychip self-assigned this Feb 3, 2025
toychip added a commit that referenced this issue Feb 4, 2025
toychip added a commit that referenced this issue Feb 6, 2025
toychip added a commit that referenced this issue Feb 6, 2025
@toychip toychip changed the title [BE] feat: 1대1 채팅 구축 [BE] feat: DirectMessage(채널 x) 구축 Feb 13, 2025
@toychip toychip changed the title [BE] feat: DirectMessage(채널 x) 구축 [BE] feat: WebSocket DirectMessage(채널 x) 구축 Feb 13, 2025
toychip added a commit that referenced this issue Feb 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

1 participant