Project/배드민턴의 모든 것 4

(4) 채팅 개발 - kafka 사용

📝 이번 포스팅은 본격적으로 Kafka를 사용하고자 한다.우선 앞서 살펴본 채팅 요구사항에 의하면 채팅은 DM, 모임, 운동 으로 3가지로 나뉜다.지난 포스팅으로 Kafka에 대해 알아봤으니 이번에는 본격적으로 어떻게 사용할 지 정하려고 한다.1. TOPIC사전에 팀원들과 함께 Kafka 정의서를 작성하였다. TOPIC은 말 그대로 해당 토픽에 대해 Publisher가 발행하면 그 토픽을 구독한 Consumer가 해당 메시지를 소비하게 된다.채팅방 Type이 3가지이므로 Topic 역시 해당 Type에 따라 구성하였다.2. EXERCISE TOPICEXERCISE_CREATED : 운동 채팅방 생성EXERCISE_DELETED : 운동 채팅방 삭제EXERCISE_COMPLETED : 운동이 완료될 경우..

(3) 채팅 개발 - Kafka 도입

이번 포스팅은 채팅 개발에 앞서 Kafka 도입에 대해 얘기해보려고 한다.📚1. Kafka 도입 배경앞서 확인한 요구사항에 따르면 채팅 도메인이 많은 도메인과 의존성이 있는 것을 확인했다. 채팅 도메인을 비동기적으로 처리하지 않고 사용한다면 운동/모임 도메인 쪽에서 코드가 수정되면 채팅쪽 코드도 동시에 계속 수정해야해서 추후 유지보수에 굉장히 안좋을 것이라는 판단을 했다. 따라서 이벤트 기반 스트리밍인 Kafka를 도입하기로 했다.2. Why Kafka?왜 많은 비동기 처리 방식 중 Kafka를 선택했을까?! 그 이유에 대해 알아보자.우선 Kafka의 특징에 대해 알아보자.3. Kafka 특징고성능 분산 이벤트 스트리밍 플랫폼Pub-Sub 모델의 메시지 큐 형태로 동작이벤트 브로커 방식** 이벤트 브로..

(2) 프로젝트 요구사항 정리

지난 포스팅에 이어.. 이번 포스팅은 내가 맡게 된 채팅 요구사항을 정리하고자 한다.채팅은 크게 3가지 (모임,운동,개인) 로 구분되며 모임과 운동 생성시에 채팅이 자동 생성되어야 한다.채팅방 생성 요구사항⚠️ 주의사항1. 개인 채팅은 친구 신청 후 채팅을 할 수 있다.2. 모임과 운동 생성과 채팅방 생성 주기가 같아야 한다.3. 모임과 운동에 신규 참가자가 추가되면 채팅방도 자동으로 추가해야한다.채팅방 수정 요구사항채팅방 삭제 요구사항 ⚠️ 주의사항1. 채팅방이 삭제되어도 채팅 메시지는 DB에 보관해야 한다.2. 운동 완료 or 모임 삭제 시 채팅방이 자동으로 삭제되어야 한다. 정리 - 본격적인 개발에 앞서..🤔채팅 도메인이 모임과 운동 도메인의 생명 주기가 같다.생명 주기가 같다는 것은 도메인과의 ..

(1) 프로젝트 소개

프로젝트 소개"전국 배드민턴 동호회원들을 위한 올인원 배드민턴 플랫폼!"여러 플랫폼을 거치지 않고 하나의 플랫폼으로 대회 일정 확인 및 신청부터 운동 가입 & 채팅 & 실시간 게임 확인 등 다양한 기능을 즐길 수 있다.프로젝트 개요기간: 2024.06~타겟층 : 전국 배드민턴 동호회원 or 배드민턴에 관심있는 누구나!목표: 8월 내에 1차 MVP 기능 출시 (현재 출시 완료⭐️)프로젝트 기능로그인 기능 ( 애플, 카카오, 네이버, 전화번호)모임 및 운동 생성 기능실시간 운동 현황 조회 기능게임 매치 및 심판 기능채팅 기능 -> 🔥 담당 역할!! 🔥커뮤니티 기능내 프로필 조회 기능알림 기능협업 규칙주 1~2회 정도 Discord 회의Jira 통한 이슈 및 형상 관리이슈가 생기면 언제든지 Discord..