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

[BSVR-212] AWS ElastiCache Redis 세팅 #145

Merged
merged 6 commits into from
Aug 17, 2024
Merged

[BSVR-212] AWS ElastiCache Redis 세팅 #145

merged 6 commits into from
Aug 17, 2024

Conversation

EunjiShin
Copy link
Collaborator

@EunjiShin EunjiShin commented Aug 17, 2024

📌 개요 (필수)


🔨 작업 사항 (필수)

  • (gitignore) application-aws에 redis 추가
  • redis 설정파일 추가
  • (리팩토링) InfrastructureConfig 생성 (JpaConfig, CacheConfig, AWSConfig 등 포함)
  • dev, prod 배포를 위해 redis 환경변수를 추가했어요.

🌱 연관 내용 (선택)

  • ElastiCache에 터널링해서 접근해야 해요.
    • 로컬에서는 다음 방법 중 하나를 택해서 진행하면 됩니다.
      • (권장) 로컬에 redis 설치 후, application-aws에 localhost 넣고 쓰기
      • 로컬에서 ssh 터널링 한 후, application-aws에 dev 서버 host 넣고 쓰기
        • dev까진 괜찮은데, 로컬에서 prod에 직접 붙는건 XXXXXX 절대 금지! 주의해주세용
  • application-aws.yml 필요

@EunjiShin EunjiShin self-assigned this Aug 17, 2024
@EunjiShin EunjiShin added 🛠 Setting 개발 환경 세팅 🔨 Build 빌드 관련 (gradle 등) labels Aug 17, 2024
Copy link

github-actions bot commented Aug 17, 2024

Test Results

38 tests  ±0   38 ✅ ±0   0s ⏱️ ±0s
14 suites ±0    0 💤 ±0 
14 files   ±0    0 ❌ ±0 

Results for commit 1635ba3. ± Comparison against base commit 66d3927.

♻️ This comment has been updated with latest results.

private final RedisProperties redisProperties;

@Bean
public RedissonClient redissonClient() {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

java에서 쓸 수 있는 레디스 클라이언트는 대표적으로 redisson이랑 lettuce가 있어요.
SPOT에서는 redis를 분산락 관리 목적으로 도입했기 때문에, 해당 목적에 초점을 맞추고 아래와 같이 비교했어요.

항목 Redisson Lettuce
락 획득 방법 Pub/Sub 구조로 락 획득 스핀락 방식으로 락 획득
사용성 Lock Interface 지원 setnx, setex 등을 이용해 락 직접 구현해야 함

성능과 구현 복잡도를 고려하여 Redisson 라이브러리를 최종 선택했습니당

@github-actions github-actions bot added size/M and removed size/S labels Aug 17, 2024
Copy link
Collaborator

@pminsung12 pminsung12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm! redisson gogo~

@EunjiShin EunjiShin merged commit 4640284 into main Aug 17, 2024
5 checks passed
@EunjiShin EunjiShin deleted the feat/BSVR-212 branch August 17, 2024 13:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🔨 Build 빌드 관련 (gradle 등) 🛠 Setting 개발 환경 세팅 size/M
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants