본문 바로가기

Redis3

지표 하나에서 시작된 Valkey Sentinel 구조 개선기 "outbox stream 하나 추가됐으니 모니터링에 잡히게만 해줘." 이 한 줄에서 시작했다. exporter가 보는 valkey stream 목록에 세 개를 더 넣고 helm upgrade 를 누르면 끝나는 줄 알았는데, 그 한 줄이 data 노드 전체를 rolling restart 시키고 master 재생성 시 failover를 1회 동반했다. 즉 모니터링 전용 변경이 데이터 토폴로지를 흔드는 구조였다. 그리고 그렇게 pod가 재기동될 때마다 Sentinel 안에는 죽은 IP가 ghost로 영구히 쌓이고 있었다. 이 글은 "지표 하나 더 보겠다"는 요청을 따라 들어가다 만난 세 개의 구조적 이슈(ghost 누적 / 모니터링과 데이터의 결합 / sentinel 초기 master 하드코딩)를 annou.. 2026. 6. 3.
단일 VM Valkey 를 K8s Sentinel HA 로 옮긴 기록 솔루션 형태로 납품되는 사내 플랫폼 BE 가 캐시로 Valkey(Redis OSS fork)를 쓴다. 그동안은 VM 1대에 단일 Valkey 가 떠 있었고, 이게 한 대 죽으면 BE 전체가 뜨겁게 식는 구조였다. 납품 사이트엔 DBA 가 없을 거고, K8s 위에 같이 올라가는 플랫폼이니 캐시도 Pod 로 올리되 Sentinel HA 로 짜자 - 이게 출발이었다. 이 글은 그 마이그레이션을 왜 Sentinel 로 골랐고, 어떻게 짰고, 어떤 검증을 거쳤고, 운영 적용 후 어떤 회귀에 부딪혔고, 결과적으로 무엇이 달라졌는지 짧게 정리한 기록이다.Intro단일 VM Valkey → K8s 위 StatefulSet(data 3) + Deployment(Sentinel 3) Helm chart 로 마이그레이션. .. 2026. 5. 4.
Redis는 왜 빠른가 - "인메모리 + 싱글 스레드"는 절반짜리 정답이다 "Redis는 왜 빠른가요?" 흔히 나오는 의문이다. 대부분 "인메모리라서요", "싱글 스레드라서 락이 없어서요"로 끝난다. 틀린 말은 아니지만, 이 대답은 결과를 원인처럼 설명하고 있다. Memcached도 인메모리인데 왜 Redis와 성능 특성이 다를까? 싱글 스레드인데 어떻게 수십만 QPS가 나올까? 진짜 답은 훨씬 아래 계층에 있다. 이 글은 뜬금없이 궁금해서 Claude Code와 함께 그 아래를 파고든 기록이다.Redis의 빠름은 "메모리에 뒀다"가 아니라 "CPU 사이클을 낭비하는 모든 요소를 제거한 설계" 에서 온다.싱글 스레드는 원인이 아니라 epoll 기반 이벤트 루프 선택의 귀결이다.자료구조(listpack, skiplist), 할당자(jemalloc), 프로토콜(RESP)까지 모든 .. 2026. 4. 19.