88 개의 글이 있습니다.
2026년 03월 08일 01:03
DB 커밋은 됐는데 이벤트가 사라진다 ZZOL은 실시간 멀티플레이어 게임 서비스다. 방 생성, 룰렛 스핀, 미니게임 결과 같은 핵심 비즈니스 이벤트를 Redis Stream으로 브로드캐스트해서 WebSocket 클라이언트에게 전달하는 구조로 되어 있다. 문제는 에 있었다. 이 코드의 문제는 두 가지다. 첫째, 가 트랜잭션 커밋 전에 호출된다. 트랜잭션이 …
2026년 03월 06일 05:03
ZZOL의 모든 유저 액션은 Redis Stream을 경유한다. WebSocket으로 들어 온 요청이 Redis Stream에 발행되고, 별도 스레드풀에서 소비되어 게임 로직이 실행된다. 이 구조에서 한 가지 문제가 있었다. 유저 요청의 시작부터 끝까지를 하나의 trace로 추적할 수 없었다. 분산 추적이 왜 필요한가 ZZOL은 실시간 멀티플레이어 게임 서…
2026년 03월 03일 07:03
ZZOL의 모든 실시간 이벤트는 Redis Stream을 통해 흐른다. 방 입장, 카드 선택, 레이싱 탭 커맨드까지. 그런데 이 파이프라인에 대한 관측 지표가 하나도 없었다. 메시지가 100ms 늦게 도착해도, 스레드풀 큐가 80% 찼어도, 아무도 모르는 상태였다. 이 블라인드 스팟을 메트릭으로 채운 과정을 기록한다. 기존 모니터링이 놓치고 있던 것 Gr…