목록redis (5)
우당탕탕
Spring Security + Redis로 DDoS 방어 구축하기 서버를 운영하다 보면 DDoS 공격과 같은 외부 공격을 받는 경우가 존재합니다. API 호출이 초당 10만 건 정도로 폭주하면 Redis 캐싱과 Spring Security 조합으로 99.9% 차단이 가능합니다. 실제 운영 경험에서 Redis 분산 락 + Rate Limiting으로 트래픽 폭증 시 CPU 사용량을 80% → 25%로 줄인 사례를 코드와 함께 정리했습니다.DDoS 공격 패턴과 Redis의 역할운영 중 자주 보는 DDoS 패턴은 IP 단위 초당 1000+ 요청입니다. Spring Security만으로는 IP 블랙리스트가 메모리 폭증하고, Redis는 분산 환경에서 상태 공유가 핵심입니다. 공격 유형 Redis 활용 차..
동시성 제어란? - 데이터가 꼬이지 않는 백엔드의 첫걸음 안녕하세요!오늘은 백엔드 실무에서 꼭 한 번은 마주치는 동시성 제어에 대해서 작성해 보려고 합니다. 회사에서 과제형식으로도 많이 나오는 문제이고 현금지급, 쿠폰 이벤트등과 같은 서비스를 만들 때 꼭 적용되어야 하는 부분이라 정독해 보시는 것을 추천드립니다. 1편에서는 기본적인 내용 설명을 진행하며 2~4편은 해결방법 설명과 예시코드를 작성해 보려고 합니다.1. 동시성이란 무엇인가?동시성(concurrency)이란, 여러 사용자가 ‘동시에’ 데이터나 시스템 자원(예: DB, 메모리 등)에 접근/변경을 시도하는 상황을 의미합니다.예시: 쇼핑몰 재고 감소• 유저A, B가 동시에 “마지막 1개 남은 상품”을 장바구니에 담고 동시에 주문을 진행 • 둘 다 ..
Valkey란? - Redis의 대안인 오픈소스 인메모리 데이터베이스 안녕하세요! 오늘은 Redis의 대안인 오픈소스 차세대 인메모리 데이터베이스인 Valkey에 대해 알아보겠습니다.Valkey의 성능, 사례, 사용법 그리고 Redis와의 차이를 한 번에 정리해 보겠습니다. Valkey란?Valkey는 2024년 Redis의 라이선스 변경(BSL) 이후, AWS, Google Cloud, Oracle, Alibaba Cloud 등 글로벌 빅테크 기업과 커뮤니티가 협력하여 만든 완전 오픈소스(BSD 라이선스) 인메모리 데이터 저장소입니다. Redis 7.2.4 버전을 기반으로 포크(fork)되어, 캐시, 메시지 큐, 세션 저장소, 실시간 데이터 처리 등 다양한 워크로드를 지원하며, NoSQL 데이터베이스로..
대용량 트래픽을 위한 스프링 튜닝 팁 급하게 개발해야할 때 보통은 "일단 돌아가게 만든 후 최적화 한다" 라는 생각으로 개발을 진행하게 됩니다. 보통 이러한 접근은 대용량 트래픽이 발생할 때 치명적으로 돌아올 수 있습니다. 이번 글에서는 실제 서비스 장애를 얻으며 경험한 바탕으로, 트래픽 폭증 시 시스템을 안정적으로 유지하는 핵심 전략을 예시 코드와 함께 작성 해 보겠습니다.1. 캐싱 전략: Redis 및 Caffeine Cache 사용을 통한 DB 부하 분산"DB 호출 1회 감소" = 초당 수천 건의 트래픽 여유를 확보합니다.캐시는 자주 조회되는 데이터를 미리 저장해두는 공간입니다. 예를 들어, 인기 상품 정보를 매번 DB에서 꺼내오면 느려지니까, 한 번만 DB에서 꺼내서 캐시에 저장해두고, 다음부터는..
오늘은 최근 지인들에게 많은 질문을 받고 있는 성능 최적화와 스케일링 전략에 대해 적어보려고 한다.성능 최적화와 스케일링은 백엔드 개발에서 핵심적인 요소이다. 서비스의 성공 여부와 직결되는 이슈이기 때문에 꾸준한 최적화와 효율적인 스케일링 전략은 선택이 아닌 필수이다.성능 최적화 전략 1. 캐싱 캐싱이란 반복적으로 사용되는 데이터나 계산 결과를 메모리에 저장하여 빠르게 액세스 할 수 있도록 하는 기법이다.데이터베이스에 접근하는 데 시간이 많이 걸리는 작업일 경우, 캐싱을 사용하여 빈번하게 사용되는 데이터를 빠르게 가져올 수 있다. 예시로 Redis와 같은 인메모리 캐시 솔루션을 활용하여 조회 속도를 크게 향상 시킬 수 있다.캐싱의 종류로는 아래와 같다. 1-1. 지역캐싱 (Local Caching) 지..
