방금 쓴 데이터는 주 DB에서 읽기, 지급 여부 확인과 지급은 주 DB에서 한 트랜잭션으로(유니크 키나 조건부 UPDATE로 중복 차단).
인프라팀 할 일
복제 지연 경보, 복제본 사양을 주 DB 이상으로 두고 병렬 복제 적용, 대량 삭제는 잘게 나눠 실행, 복제본에서 오래 도는 집계 쿼리 관리.
그래프에서는
인원·부하를 따라 오름 · 복제 지연(초)
확인할 곳
MySQL은 복제본에서 SHOW REPLICA STATUS의 Seconds_Behind_Source(8.0.22 이전 버전은 SHOW SLAVE STATUS)를 봄. PostgreSQL은 주 서버 pg_stat_replication의 write_lag·flush_lag·replay_lag, RDS는 ReplicaLag를 봄
이러면 맞음
“안 보인다”는 제보 시각에 지연이 수 초 이상이고 지연이 풀린 뒤 다시 보면 정상. 쓰기 폭주나 대량 삭제, 복제본의 긴 집계 쿼리 시각에 지연이 커짐
이러면 아님
지연이 0 근처인데도 안 보이면 게임 서버의 캐시나 동기화 쪽
확인 수단
인프라 도구로 확인(게임 코드 불필요)
더 알아보기
쓰기가 많지 않아도 뒤처질 수 있습니다. 주 DB에서 10분 걸린 대량 삭제 하나는 복제본에서도 다시 실행되므로 복제본이 그만큼 뒤처집니다. 복제본에서 오래 도는 집계 쿼리도 따라가기를 늦춥니다.