본문 바로가기

redis8

AWS ElastiCache for Redis에서 발생한 Network bandwidth out allowance exceeded와 대처 방안 최근 신규 프로젝트 개발을 마치고 릴리즈를 앞두고 있었습니다. 릴리즈 전 부하테스트를 하다 AWS ElastiCache for Redis에서 네트워크 대역폭의 허용 범위를 넘게 되었는데요. 겪었던 문제와 해결한 경험을 가볍게 소개드리려 합니다. 목차 1. 네트워크 대역폭이란? - 네트워크 대역폭의 기본 개념 - AWS ElastiCache for Redis에서의 대역폭 중요성 2. Network Bandwidth Out Allowance Exceeded의 의미 - AWS ElastiCache for Redis 인스턴스 스펙 - Baseline bandwidth vs Burst bandwidth 3. 해결 방법 - 데이터 압축 - 요청 딜레이 적용 - 스케일업 및 스케일 아웃 마치며 Reference 1... 2024. 1. 21.
[간단 장애 회고] Redis + @Transactional (트랜잭션에서 Redis Get은 항상 null을 리턴한다. 트랜잭션 없는 상위 메서드에서 트랜잭션 있는 하위 메서드 호출은 에러다.) 잘못된 내용이나 의견 있다면 편하게 말씀해주세요.🙏🏻 사건의 개요 Spring Boot에서 @Transactional 어노테이션을 사용하여 Redis에 대해 트랜잭션을 사용했습니다. 하지만 문제가 발생했습니다. 하나의 트랜잭션에서 Redis Get와 Redis Set을 사용할 때 Redis Get가 조회되지 않고 항상 null을 발생시켰습니다. +a 배경지식 : Spring Data Redis + @Transactional Spring Boot에서 Redis 저장소를 사용합니다. 연결하기 위해서는 spring-boot-starter-data-redis 의존성을 사용합니다. 해당 의존성은 Redis Client인 lettuce 라이브러리를 사용합니다. JDBC나 JPA에서 사용하는 @Transactiona.. 2022. 12. 18.
RDB 동시성 문제를 해결하는 RDB Lock, Redis 활용방법과 의사결정 이 글은 최상용님의 '재고시스템으로 알아보는 동시성 이슈 해결방법' 인프런 강의 토대로 개인 생각을 덧붙여 작성되었습니다. (공유 허락 o) 원본 저장소는 이곳과 실습한 저장소는 이곳에서 확인하실 수 있습니다. 🙇‍♂️ 잘못된 내용이나 의견 있다면 편하게 말씀해주세요.🙏🏻 동시성 문제(이슈)란 여러 스레드/프로세스/서버가 동시에 같은(공유) 데이터를 변경하면서 발생하는 문제라고 볼 수 있습니다. 예를 들어 하나의 자바 프로세스가 있습니다. 여러 스레드가 동시에 하나의 필드를 수정할 때 동시성 문제가 발생할 수 있습니다. 또 다른 예로 선착순 100명에게 전달해주는 티켓이 있습니다. 이를 구현하는 Spring 서버 여러 대가 존재합니다. 100명 티켓 데이터가 DB에 저장되어 있을 때, 여러 서버가 동시에.. 2022. 12. 14.
레디스를 5가지 방법으로 설치/구축하기 : Terraform + AWS ElastiCache 잘못된 내용이나 의견 있다면 편하게 말씀해주세요.🙏🏻 개발/테스트 목적의 단일 노드 Redis(Remote Dictionary Server)를 구축하는 5가지 방법을 소개합니다. (1. 로컬, 2. docker-compose, 3. Embedded Redis, 4. Testcontainers, 5. AWS ElastiCache, Terraform) 운영 목적의 아키텍처(Replication, Sentinel, Cluster)는 아닙니다. 글 목록 [Redis] 레디스를 5가지 방법으로 설치/구축하기 : 로컬, docker-compose [Redis] 레디스를 5가지 방법으로 설치/구축하기 : Embedded Redis, Testcontainers [Redis] 레디스를 5가지 방법으로 설치/구축하기 : .. 2022. 12. 10.
레디스를 5가지 방법으로 설치/구축하기 : AWS ElastiCache 잘못된 내용이나 의견 있다면 편하게 말씀해주세요.🙏🏻 개발/테스트 목적의 단일 노드 Redis(Remote Dictionary Server)를 구축하는 5가지 방법을 소개합니다. (1. 로컬, 2. docker-compose, 3. Embedded Redis, 4. Testcontainers, 5. AWS ElastiCache, Terraform) 운영 목적의 아키텍처(Replication, Sentinel, Cluster)는 아닙니다. 글 목록 [Redis] 레디스를 5가지 방법으로 설치/구축하기 : 로컬, docker-compose [Redis] 레디스를 5가지 방법으로 설치/구축하기 : Embedded Redis, Testcontainers 현재글 : [Redis] 레디스를 5가지 방법으로 설치/구.. 2022. 12. 9.