본문 바로가기

Spring Boot/Cache

(24)
분산 캐시의 이해와 Redis : Redis 설정 - 운영체제에 따라 Redis를 설치하는 법 - Redis 서버와 클라이언트의 기본 실행 및 종료법 - Redis CLI(Command Line Interface)를 사용해서 기본 명령 테스트 - 서비스 실행 방식(수동 실행, 백그라운드 실행) 이해 - 설치 후 환경변수 및 포트 설정 점검하기 Redis 설치 개요Redis는 다양한 운영체제에서 설치할 수 있으며, 공식적으로 macOS 및 Linux를 기본적으로 지원한다고 함Windows의 경우, 직접 포팅된 버전 또는 Docker 기반 설치를 활용해야한다고 한다 Windows에서의 설치Microsoft에서 공식적으로 제공하던 Windows용 Redis 포트는 현재 아카이브 상태이지만, 학습용으로 사용 가능하다고 함 Redis는 이제 Windows에서 네..
분산 캐시의 이해와 Redis : 분산 캐시 구현 시 고려사항 - 분산 캐시 시스템 설계시 반드시 고려해야할 핵심 요소 - 네트워크 지연(Latency)과 캐시 오버헤드 문제의 원인 및 해결 방안 - 데이터 일관성(consistency)을 유지하기 위한 전략 - 장애(failure) 발생 시의 복구(Recovery) 및 가용성 확보 방안 - 보안 측면에서의 접근 제어 및 데이터 보호 방법 네트워크 지연과 오버헤드분산 캐시 환경은 여러 서버간 네트워크 통신을 기반으로 동작한다고 한다!따라서 캐시 접근 속도는 네트워크 품질에 크게 영향을 받게 된다고 함 1. 네트워크 지연의 원인원인설명네트워크 거리서버간 물리적 거리가 멀수록 RTT(Round Trip Time)가 증가함부하 집중특정 노드에 트래픽이 집중되면 큐잉 지연이 발생함DNS 및 라우팅 지연클러스터 내부 통신 ..
분산 캐시의 이해와 Redis : 분산 캐시 활용 패턴 - 분산 캐시의 필요성, 동작 원리 - Look-Aside, Write-Through, Write-Behind 패턴의 구조적 차이 - 각 패턴의 장단점과 선택 기준 - 실무 환경에서 어떤 시점에 어떤 패턴을 적용해야 하는가? - 단순 코드 예제와 캐시 흐름 다이어그램을 통해 캐시 패턴의 구조 이해하기 분산 캐시 패턴 개요분산 캐시는 여러 서버(노드)가 동일한 데이터를 공유할 때, 데이터 접근속도를 향상시키고 데이터베이스 부하를 줄이기 위한 구조임캐시는 데이터의 복사본(Copy)을 메모리에 저장해두고, 반복되는 조회 요청에 대해 빠르게 응답함 Look-Aside Cache Pattern(Lazy Loading)1. 개념Look-Aside(Lazy Loading) 패턴은 애플리케이션이 먼저 캐시를 조회하고,..
분산 캐시의 이해와 Redis : Redis 개요와 주요 특징 뭐가 이렇게 어렵냐? - Redis의 핵심 구조와 작동 원리 - 인메모리 기반 고성능 저장 방식의 장점 - 다양한 데이터 구조(String, Hash, List, Set 등)의 특징 및 활용 사례 - 영속성(Persistence) 옵션의 동작 방식을 이해하고 선택하기 - 클러스터링과 고가용성 구조를 통해 Redis가 안정적으로 운영되는 원리 Redis 개요Redis는 Remote Dictionary Server의 약자임데이터를 메모리(RAM)에 저장하는 초고속 인메모리 데이터 저장소라고 함디스크 기반 데이터베이스보다 훨씬 빠르게 데이터를 읽고 쓸 수 있다캐시, 세션 저장소, 실시간 순위 집계 등 다양한 분야에서 사용된다 1. 인메모리 데이터 저장 구조Redis는 모든 데이터를 메모리에 저장하고, 필요..
분산 캐시의 이해와 Redis : 분산 캐시의 필요성 드디어 Redis다 - 분산 캐시의 개념과 필요성 - 로컬 캐시(Local Cache)의 한계를 파악하고, 서버 확장 시 발생하는 문제 - 다중 서버 환경에서 데이터의 일관성이 왜 중요한가? - 서버간 캐시 공유의 기본 원리를 이해하고, 확장성과 가용성 측면에서의 장점 익히기 - Redis와 같은 분산 캐시 시스템을 도입해야 하는 이유 분산 캐시의 필요성분산 캐시는 여러 서버(노드)가 동일한 캐시 데이터를 공유할 수 있도록 네트워크를 통해 접근 가능한 캐시 저장소를 말함로컬 캐시(Local Cache)와 달리 서버간 데이터 일관성(Consistency)을 유지할 수 있고, 확장성과 안정성이 뛰어남 1. 로컬 캐시의 한계로컬 캐시는 각 서버의 메모리에 캐시를 저장하는 방식임 1) 문제점 - 서버마다 ..
캐시 모니터링과 문제 해결 : 일반적 캐시 문제와 해결 방법 - 실무에서 자주 발생하는 캐시 문제의 유형 및 원인 - 캐시 폭발(Cache Stampede), 캐시 누수(Cache Leak), 캐시 오염(Cache Pollution), 캐시 패싱(Infinite Caching)의 사례 - 각 문제의 동작 원리를 시각적으로 이해하고, 방지 전략 익히기 - TTL, Lock, Background Refresh 등 주요 방지법 - 문제 상황을 사전에 예방하고, 운영 환경에서 캐시 안정성을 유지할 수 있는 역량을 갖추면 좋음 캐시 폭발(Cache Stampede)익스플로전 아님 1. 개념 설명다수의 요청이 동시에 캐시 미스(Cache Miss)를 발생시켜 DB나 원본 서버에 과도한 부하를 주는 현상을 말함 다수의 사용자가 요청 - > 근데 캐시 만료 시점임 - > 모두..
캐시 모니터링과 문제 해결 : 캐시 성능 분석 - 캐시 성능을 정량적으로 분석하는 주요 지표 - 적중률(Hit Ratio)를 계산하고 해석하는 법 - 캐시가 응답 시간에 미치는 영향을 비교 및 분석 - 메모리 샤용량과 병목 현상을 모니터링하는 법 - 실무에서 캐시 성능을 점검하고 개선 방향 수립하기 캐시 성능 분석 개요캐시는 응답속도를 향상시키기 위한 핵심 구성 요소이지만, 무조건 캐시를 사용한다고 해서 성능이 개선되는건 아님효율적 캐시 설계를 위해선 측정 -> 분석 -> 개선의 반복적 검증 과정이 필요함 1. 캐시 성능 지표의 중요성Hit Ratio(캐시 적중률)캐시에서 데이터를 성공적으로 반환한 비율Miss Ratio(캐시 미적중률)캐시가 데이터를 찾지 못해 원본 데이터 소스를 조회한 비율Eviction Count(캐시 제거 횟수)용량 초과 또..
캐시 모니터링과 문제 해결 : Spring Boot Actuator를 활용한 모니터링 - Spring Boot Actuator를 사용하여 애플리케이션의 캐시 상태를 실시간으로 모니터링 하는법 - 캐시 관련 엔드포인트(/actuator/caches, /actuator/metrics/cache.*) 의 활용법?? - Micrometer를 이용해 캐시 통계를 수집하고 분석하는법 - 커스텀 지표(Metrics)를 정의하여 비즈니스 맞춤형 모니터링 구성하기 - 실무에서 캐시 문제를 조기에 탐지하고 효율적으로 관리할 수 있는 법 Spring Boot Actuator를 활용한 모니터링Spring Boot Actuator는 운영 환경에서의 시스템 상태를 실시간으로 관찰할 수 있도록 도와주는 강력한 모니터링 도구임Actuator는 캐시의 Hit/Miss 비율, 캐시 크기, 만료 정책 등의 캐시 통계 정보..