Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: redis 캐시 정책을 추가 #151

Closed
wants to merge 14 commits into from

Conversation

mirageoasis
Copy link
Contributor

@mirageoasis mirageoasis commented Aug 27, 2024

⛏ 작업 사항

CleanShot 2024-08-28 at 21 55 01

기존의 분산락의 성능이 나오지 않아, 이벤트 기반으로 Redis의 정보를 RDB에 최신화 하려는 로직을 작성. Redis에 자리에 대한 최신 정보가 있다고 가정하고 RDB는 일종의 백업 저장소로 사용한다.

📝 작업 요약

  1. 유저가 자리를 차지할 때 다음과 같은 일이 발생한다.
    • Redis에 자리 정보가 기록된다.
    • occupy라는 이벤트가 발생 (RDB에 자리를 차지한 유저를 최산화 하기 위한 발생하는 이벤트)
    • 스케쥴러에 20초후 작동할 작업 발생 (20초 후에 자리를 포기하는 release 이벤트 발생)
  2. 유저가 결제하면 다음과 같은 일이 발생한다.
  • 결제는 정합성이 중요하다고 생각해서 Redis와 RDB에 동시에 기록
  1. release, occupy 이벤트
  • 해당 이벤트는 각각 Redis에 기록된 자리 포기, 자리 점유 이후 상태를 디비에 써주는 이벤트

이론으로 보면 완벽하지만 Redis와 RDB간의 정합성을 짧은 시간 안에 달성하기 힘들어 포기하였다.

💡 관련 이슈

  • close #

@mirageoasis mirageoasis changed the title feat: redis 캐시 정책을 추가하였음 feat: redis 캐시 정책을 추가 Aug 28, 2024
@hseong3243 hseong3243 changed the title feat: redis 캐시 정책을 추가 Feature: redis 캐시 정책을 추가 Aug 28, 2024
@hseong3243 hseong3243 added ✨ Feature 기능 구현 🔨 Refactor 코드 리팩토링 및 구조 개선 labels Aug 28, 2024
@mirageoasis mirageoasis deleted the feat/reservation-redis branch August 29, 2024 05:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Feature 기능 구현 🔨 Refactor 코드 리팩토링 및 구조 개선
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants