68 개의 글이 있습니다.

커피빵(CoffeeShout) Race Condition 해결

2025년 10월 15일 09:10

+ Race Condition 조회 후 쓰기 작업이 많은 도메인 특성상 Race Condition이 발생할 수 있다. Pub/Sub 메시지 전파에는 약간의 지연(수 밀리초~수십 밀리초)이 존재하기 때문에, 극히 짧은 순간 동안 서로 다른 인스턴스가 다른 게임 상태를 볼 수 있다. 예를 들어 다음과 같은 동시성 문제가 발생할 수 있다: 이는 분산 환경에서 …


How Redis Pub/Sub Works

2025년 10월 14일 09:10

coffeeshout_infra_design 지난 글에서 이어집니다! Redis pub/sub Redis Pub/Sub의 동작 원리를 이해하면 왜 이 방식이 실시간 게임 동기화에 적합한지 명확해진다. Redis 내부 구조 Redis 서버는 C로 구현되어 있으며, Pub/Sub 기능은 내부적으로 매우 단순한 자료구조로 동작한다. Redis 서버의 구조체는…


커피빵(CoffeeShout) 분산환경 구축

2025년 10월 13일 09:10

단일 인스턴스 목표 TPS 커피빵은 게임 기반 실시간 서비스이기 때문에 유저 간의 양방향 통신을 위해 웹소켓 통신을 이용하고 있다. 웹소켓 통신의 경우 서버가 각 클라이언트의 구독 상태를 세션별로 메모리에서 관리하고 있는데, REST API와는 다르게 연결이 지속적으로 유지되면서 이벤트 브로드캐스팅과 메시지 라우팅을 처리해야 한다. 이 과정에서 동시 접속…


지연의 원인을 찾아라

2025년 09월 28일 09:09

스크린샷 2025-09-28 오후 2.45.24.png스크린샷 2025-09-28 오후 2.45.33.png 0. 문제 원인 가설 세우기 P95가 15배 증가했는데, CPU, Memory 사용량이 정상 범위, 그럼 DB 관련 문제이지 않을까? DB 커넥션 풀 고갈 테이블 락 or 행 락 경합 (업데이트와 조회가 동시에) N+1 문제 (커넥션 오래 점유) …


우아한테크코스 7기 BE 레벨3 회고

2025년 08월 30일 09:08

지난 회고: 우아한테크코스_7기_BE_레벨2_회고 레벨3도 끝났다. 가속도가 붙은 것처럼 시간이 점점 빨리 지나간다. 지난 8주간 내가 느꼈던 것들을 하나씩 톺아보자! 문제를 정의하고 요구사항을 파악하는 능력은 어떻게 기를까 레벨3 내내 머릿속에서 맴돈 질문이다. 아이디어를 내고, 팀원들을 설득하고, 기획을 세부화하고, 이를 실제로 구현하는 과정 전반에서…


WebSocket Reconnection on App Switching

2025년 08월 13일 09:08

문제 상황 mvp를 빠르게 만들고 테스트를 하던 중, 다른 앱을 사용하다가 다시 돌아오면 웹소켓 통신이 안된다는 것을 발견했다. 찾아보니 모바일이든 pc의 각각의 기기에서 앱을 전환할 때 환경에 맞게 백그라운드에서 웹소켓을 유지하는 시간이 달랐고, 테스트를 결과 아이폰이나 맥북 기준 대부분 4~5초이내로 연결이 중단되는 것 같다. 또 클라이언트 코드에서도…


How Spring Handles WebSocket

2025년 08월 12일 09:08

how_spring_injects_httpsession 이 포스트를 읽고 오면 이해가 더 잘 됩니다! Spring에서 어떻게 WebSocket 연결을 수립할까? 그 과정을 찾아가보자. Spring에서 연결방식을 WebSocket으로 업그레이드 하는 방법 handshake 성공 후에는? 물리적 TCP 연결은 동일함 메시지들은 DispatcherServlet…


커피빵(CoffeeShout) 서버 기술스택

2025년 07월 09일 09:07

해당 문서에서는 커피빵(CoffeeShout)를 구성하는 서버파트 테크 스택 선정 이유에 관한 내용을 담고 있습니다. ✏️ 언어 Java 팀원 모두 Java에 대한 이해도가 높음. 한국어 자료 및 커뮤니티가 풍부하여 문제 해결이 용이함. Corretto JDK 21 AWS에서 공식 제공, 친화도 좋음. LTS(Long Term Support) 중 최신 버전…


커피빵(CoffeeShout) 페르소나

2025년 07월 08일 09:07

커피빵(CoffeeShout): 똥손도 즐기는 커피빵 전쟁 목표 커피 내기, 재미있게 해보자! 매일 똑같은 가위바위보 그만! 핵심 기능 미니게임을 통한 가중치 기반 룰렛 시스템 기능 세부사항 방을 만든다. 초대 코드로 참가 가능. 사용자들이 해당 방에 입장한다. 메뉴 선택. 미니게임을 통해 확률을 조절한다. 룰렛을 돌려서 당첨자를 뽑는다. 당첨자가 메뉴 …


커피빵(CoffeeShout) 기획

2025년 07월 07일 09:07

프로젝트명 - 한글 커피빵 프로젝트명 - 영어 CoffeeShout 프로젝트 주제 똥손도 즐기는 커피빵 전쟁 프로젝트 목적 및 설명 커피 내기를 재미있고 간편하게 할 수 있도록 만든 플랫폼 점심시간마다 반복되는 커피 내기를 좀 더 유쾌하고 흥미롭게 즐길 수 있도록