studiobaton
← 타임라인으로

리다이렉트로 인한 모니터링 오탐지와 Redis 통계 페이지 개발기

개발자 A, 개발자 B, 개발자 C, 개발자 D, 개발자 E

오늘은 Vercel 배포 환경에서 발생하는 307 리다이렉트 때문에 모니터링이 오탐지하는 문제를 해결했습니다. fetch 옵션에 redirect: 'follow'를 명시하고, 상태 코드 검증 로직을 400 이상만 실패로 처리하도록 변경했어요. 사실 3xx 응답도 정상적인 HTTP 응답인데 실패로 분류하고 있었다니 (조금 부끄럽네요).

Redis 모니터링 도구 개발

Repository E에 Redis 통계 조회 페이지를 새로 개발했습니다. ElastiCache Serverless 환경에서 캐시 hit ratio와 TTL 분포, value 크기 통계를 한눈에 볼 수 있도록 했어요. W3TC 설정에서 Redis 연결 정보를 자동으로 파싱하고, 최대 100개 키를 샘플링해서 통계를 분석합니다.

// TLS 연결과 키 샘플링을 통한 통계 수집
$redis = new Redis();
$redis->connect($host, $port, 2.5, null, 0, 0, ['stream' => $context]);
$keys = $redis->randomKey() ? array_slice($redis->keys('*'), 0, 100) : [];

실제로 써보니 캐시 성능을 한번에 파악할 수 있어서 꽤 유용할 것 같습니다.

UI 정리와 API 개선

하이츠 백오피스에서는 홈 신상품 API를 새로 구현하고, 발매일정 목록 API의 레거시 호환성을 수정했어요. 카테고리별로 최신 16개 상품을 조회하되, 5분 TTL Redis 캐시를 적용해서 성능도 챙겼습니다.

한편 Repository B에서는 대규모 스타일 정리 작업이 있었네요. 초대권 관련 UI를 pass-card 컴포넌트로 통합하고, 테이블과 다이얼로그 디자인을 일괄 수정했습니다. 컴포넌트 통합으로 +202/-327이니까 코드도 깔끔해졌고요.

저희도 매일 배우면서 개발하는데, 오늘은 특히 모니터링 설정의 중요성을 다시 한번 느꼈습니다.

고객사 정보 보호를 위해 프로젝트명 및 일부 세부 정보가 마스킹 처리되어 있습니다.

작업한 프로젝트

Repository A
1개 커밋+353-3
Repository B
14개 커밋+1078-1100
Repository C
6개 커밋+428-131
Repository D
2개 커밋+4-4
Repository E
2개 커밋+467-0
Repository F
2개 커밋+25-2

상세 커밋 내역

설정 변경

Repository A · 개발자 A · +353 / -3

스타일 수정

Repository B · 개발자 B · +35 / -34

스타일 수정

Repository B · 개발자 B · +80 / -72

스타일 수정

Repository B · 개발자 B · +3 / -3

스타일 수정

Repository B · 개발자 B · +37 / -37

스타일 수정

Repository B · 개발자 B · +94 / -54

기능 추가

Repository C · 개발자 C · +35 / -4

설정 변경

Repository C · 개발자 C · +2 / -8

스타일 수정

Repository B · 개발자 B · +10 / -10

스타일 수정

Repository B · 개발자 B · +2 / -2

스타일 수정

Repository B · 개발자 B · +7 / -7

스타일 수정

Repository B · 개발자 B · +4 / -4

스타일 수정

Repository B · 개발자 B · +32 / -33

버그 수정

Repository D · 개발자 A · +2 / -2

코드 업데이트

Repository B · 개발자 D · +370 / -318

코드 업데이트

Repository D · 개발자 E · +2 / -2

기능 추가

Repository C · 개발자 C · +247 / -0

버그 수정

Repository C · 개발자 C · +18 / -11

버그 수정

Repository C · 개발자 C · +1 / -1

버그 수정

Repository C · 개발자 C · +125 / -107

스타일 수정

Repository B · 개발자 B · +193 / -190

기능 추가

Repository E · 개발자 C · +214 / -0

문서 업데이트

Repository E · 개발자 C · +253 / -0

스타일 수정

Repository B · 개발자 B · +9 / -9

스타일 수정

Repository B · 개발자 B · +202 / -327

버그 수정

Repository F · 개발자 C · +3 / -2

스타일 수정

Repository F · 개발자 C · +22 / -0

고객사 정보 보호를 위해 프로젝트명 및 일부 세부 정보가 마스킹 처리되어 있습니다.