Redis

Redis

[Redis] Redis 분산락(Distributed Lock)을 이용한 재고관리 구현 - 2

프로젝트 개요이번 프로젝트에서는 분산 시스템 환경에서 발생하는 다양한 문제 상황중, 서로 다른 요청이 하나의 데이터에 몰리게 되어 발생하는 레이스 컨디션(Race Condition) 문제를 분산 락을 이용해 해결하는 미니 프로젝트를 진행하고 이를 정리했습니다.이전글 - [Redis] Redis 분산락(Distributed Lock)을 이용한 재고관리 구현 - 1저번 글에서는 프로젝트를 위한 환경설정과 애플리케이션 시작시 Redis Warmup, 서비스 시점 DB - Redis 실시간 동기화를 위한 처리등을 진행했습니다.이번 글에서는 재고 관리 관련 API 개발 및 예외처리 그리고 Jedisson을 이용한 Redis 분산락을 적용하고 테스트 했던 내용을 정리했습니다.프로젝트 전체 코드는 아래 github을..

Redis

[Redis] Redis 분산락(Distributed Lock)을 이용한 재고관리 구현 - 1

프로젝트 개요이번 프로젝트에서는 분산 시스템 환경에서 발생하는 다양한 문제 상황중, 서로 다른 요청이 하나의 데이터에 몰리게 되어 발생하는 레이스 컨디션(Race Condition) 문제를 분산 락을 이용해 해결하는 미니 프로젝트를 진행하고 이를 정리했습니다. 코드들을 모두 게시글에 작성할 수 없어, 일부 설정은 다른 게시글에 정리된 내용을 링크하였습니다.프로젝트 전체 코드는 아래 github을 통해 확인할 수 있습니다.https://github.com/kwj2435/spring-redis-stock-manager기술 스택Spring Boot 3.4.1Spring Data JPAJava 17Redis 7.0KafkaH2 Database 구현 요구 사항주요 기능재고 등록: 제품과 초기 재고량을 Redis에..

Redis

[Redis] Redis 클러스터(Redis Cluster) 구성하기

Redis 클러스터(Cluster)Redis 클러스터(Redis Cluster)는 분산 환경에서 데이터의 가용성과 확장성을 제공하기 위해 설계된 Redis의 네이티브 분산 시스템이다. Redis 클러스터는 데이터가 자동으로 여러 노드에 분산되며, 고가용성과 샤딩을 지원한다. Redis 클러스터를 더 쉽게 설명하면, 큰 데이터를 여러 Redis 서버에 나누어서 저장하고, 서버가 고장 나도 자동으로 복구할 수 있도록 도와주는 시스템이다.주요 특징데이터 샤딩(Sharding)데이터를 16,384개의 해시 슬롯(Hash Slot)으로 나누고 이를 여러 노드(Master)에 분산하여 저장하는 구조이다.각 마스터 노드는 일부 해시 슬롯을 담당하며, 이를 통해 데이터가 고르게 분배된다.고가용성(High Availab..

turtleDev
'Redis' 카테고리의 글 목록