Skip to content

[Phase8] Issue #14: Redis 연동 설계 #14

Description

@724thomas

Phase 목표: Redis 연동 준비

목표: 3단계(Redis 적용)를 위한 기반 마련

작업 내용

  • Redis 연동을 위한 인터페이스 추상화
  • 분산 환경 고려사항 정리
  • 일관성 해싱 적용 방안 설계
  • 데이터 일관성 문제 해결 방안

완료 기준

  • 현재 인메모리 구현을 Redis로 쉽게 교체 가능한 구조
  • 분산 환경에서의 데이터 일관성 해결 방안 수립
  • 일관성 해싱을 통한 Redis 샤딩 설계
  • 성능 및 확장성 고려사항 문서화

인터페이스 추상화

  • RateLimiterRepository 인터페이스 설계
  • 현재 구현을 InMemoryRateLimiterRepository로 분리
  • Redis 구현을 위한 RedisRateLimiterRepository 인터페이스 준비

분산 환경 고려사항

  • 다중 Redis 노드 환경에서의 데이터 분산
  • 노드 장애 시 데이터 일관성 보장
  • 네트워크 파티션 처리 방안

일관성 해싱 설계

  • 사용자 ID 기반 해시 함수 설계
  • Redis 노드 추가/제거 시 데이터 재분배
  • Virtual Node를 통한 부하 분산

성능 최적화

  • Redis Pipeline 활용 방안
  • 연결 풀 관리 전략
  • 캐시 만료 시간 최적화

파일 위치

  • docs/Redis-Integration-Design.md
  • src/main/java/com/example/demo/ratelimiter/repository/

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions