728x90
반응형

Activities/Focussu 개발일지 2

[Focussu] Kafka & Redis 통합/단위 테스트

1. 들어가며최근 집중도 분석 독서실 플랫폼(또는 스터디룸 플랫폼) 백엔드(Spring Boot)에서, 사용자의 WebRTC 연결 상태를 Kafka 메시지로 수신하고 이를 Redis에 반영하는 기능을 개발했다. 요약하자면,Kafka Topicmediasoup.user.connected (사용자 입장)mediasoup.user.disconnected (사용자 퇴장)동작 흐름Kafka 메시지를 @KafkaListener가 수신JSON 파싱 후, roomId, userId 추출Redis에 roomId를 키로 한 Set 구조에 userId 추가/삭제테스트 목표이 흐름이 실제로 잘 동작하는지, 즉 Kafka 메시지를 소비했을 때 Redis가 제대로 갱신되는지를 테스트하고 싶었다.그런데 이게 말처럼 간단하지 않았다..

[Focussu] 아키텍쳐 설계

0. 온라인 스터디 플랫폼, Focussu 백엔드 아키텍처 설계기― 실시간 스트리밍, Kafka, 그리고 Docker Compose까지캡스톤 프로젝트에서 "실시간 집중도 분석이 가능한 온라인 스터디 플랫폼"을 개발하게 되었다.단순히 영상 전화를 넘어서, 각 사용자들의 스트리밍 데이터를 AI 서버로 전달하고, 그 분석 결과를 기반으로 각 사람의 집중도를 실시간으로 보여주는 플랫폼이다. 이 글은 백엔드 개발자로서 내가 어떤 기술을 선택했고, 왜 그런 선택을 하게 되었는지를 정리한 기록이다.또, 각종 트러블 슈팅을 시리즈 별로 정리할 예정이다.1. 핵심 요구사항 정리사용자의 비디오/오디오 스트리밍 데이터를 AI 분석 서버로 보내야 한다.따라서 WebRTC의 P2P 방식은 사용할 수 없고, 중계 서버(SFU 기..

728x90
반응형