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

enhance: 분산 락을 통한 선물박스 열기 로직 동시성 문제 해결 #268

Open
wants to merge 12 commits into
base: develop
Choose a base branch
from

Conversation

leeeeeyeon
Copy link
Collaborator

@leeeeeyeon leeeeeyeon commented Aug 30, 2024

🛰️ Issue Number

#267

🪐 작업 내용

  • Redisson을 활용하여 AOP 기반으로 분산 락 로직과 커스텀 어노테이션을 구현하였습니다. 097cf7d
  • 선물박스 열기에 분산 락 어노테이션을 적용하였습니다. 12cfa52
  • 여러 유저가 동시에 선물박스 열기를 시도하는 시나리오에 대한 테스트 코드를 추가하였습니다. b8d5a68

📚 Reference

✅ Check List

  • DB 스키마가 일치하는지 확인했나요?
  • SonarLint를 반영하여 코드를 수정했나요?
  • merge할 브랜치의 위치를 확인했나요?
  • Label을 지정했나요?

@leeeeeyeon leeeeeyeon added the 🎄 enhance Enhancing previously implemented features label Aug 30, 2024
@leeeeeyeon leeeeeyeon self-assigned this Aug 30, 2024
…ure/giftbox-concurrency

# Conflicts:
#	packy-api/src/main/java/com/dilly/gift/application/GiftBoxService.java
Copy link

sonarcloud bot commented Aug 30, 2024

@leeeeeyeon leeeeeyeon changed the title Feature/giftbox concurrency enhance: 분산 락을 통한 선물박스 열기 로직 동시성 제어 Aug 30, 2024
@leeeeeyeon leeeeeyeon changed the title enhance: 분산 락을 통한 선물박스 열기 로직 동시성 제어 enhance: 분산 락을 통한 선물박스 열기 로직 동시성 문제 해결 Aug 30, 2024
@leeeeeyeon
Copy link
Collaborator Author

leeeeeyeon commented Aug 30, 2024

TODO: 빌드 실패 원인 및 해결 방법 참고하여 테스트 코드 수정

@leeeeeyeon
Copy link
Collaborator Author

EmbeddedRedisConfig를 어디에 위치시켜야할까? 🤔
데이터베이스 관련 설정이기 때문에 domain 모듈에 위치시키는 것이 맞다고 생각했음
하지만 GiftBoxConcurrencyTest는 api 모듈에 위치하고 있어 domain 모듈의 test 패키지에 있는 Config 파일을 가져오지 못하여 빈 생성에 문제가 생기는 것 같음

@leeeeeyeon
Copy link
Collaborator Author

Embedded redis의 M1 이슈: depromeet/SPOT-server#173

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🎄 enhance Enhancing previously implemented features
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant