1GiB Cloud Run에서 대형 PDF를 처리하다 OOM이 난 이유
PDF 전체를 한 번에 처리해 발생한 OOM과 timeout을 3페이지 청크, 객체 회수와 서버·호출자 제한 정렬로 완화한 사례입니다.
BigQuery 스트림이 600초 뒤 닫힐 때 안전하게 재연결하기
Storage Write API 연결의 유휴 종료 뒤 실패 batch를 큐에 복원하고 writer를 중복 없이 재생성한 장애 대응 사례입니다.
캐시는 저장보다 삭제가 어렵다: 무효화 경로를 통합한 과정
서로 다른 runtime의 설정 cache key 중 한쪽만 삭제돼 stale 위젯이 남은 문제를 공통 key builder와 ID 단위 invalidation으로 해결했습니다.
종료 세션 캐시가 625MiB까지 자랐다: 장기 연결의 메모리 누수
장기 Engine WebSocket의 종료 세션 Map이 누적된 원인을 찾아 명시적 disconnect, 비활성 TTL과 generation token으로 회수한 장애 분석입니다.
WebSocket 재연결이 장애를 키우지 않게 하는 방법
짧은 open/close 반복에서 backoff가 계속 초기화되던 문제를 안정 연결 시간, exponential backoff, jitter와 오류 분류로 완화한 사례입니다.
고가용성을 단순화했다: Valkey Sentinel을 제거한 이유
Spot 선점 뒤 Sentinel의 primary 인식과 replication이 갈라진 경험을 바탕으로, 단일 Standard Valkey를 선택한 조건과 포기한 것을 정리합니다.
Pod가 안 늘어난 진짜 이유: GKE 보조 IP 대역 고갈
CPU나 quota가 아닌 VPC-native GKE의 Pod secondary range 고갈로 scale-up이 실패한 사례와 진단 순서, 장기 CIDR 계획을 설명합니다.
개발 서버에서 PM2 reload가 Pod를 죽였다: 순간 메모리와 OOMKilled
개발 서버에서 빠른 확인을 위해 PM2 reload를 실행하자 구·신 Node.js 프로세스의 메모리가 겹쳐 OOMKilled가 발생한 사례입니다. 운영은 이미지 재배포 방식으로 이 경로를 사용하지 않습니다.