Test/ 동시성 이슈 테스트를 위한 Redis 락 구현 및 테스트#111
Conversation
모든 테스트 코드 메서드 호출부 제외 통일 시간 측정 로직 추가 핵심 메서드를 제외한 부분은 시간 측정에서 제외
- Retry v1
…니다. 추후 최후 사용버전이 확정되면 EventOrderController에서 EventOrderFacade에 있는 메서드 중 골라서 호출하면 됩니다.
🤖 AI 코드리뷰
📋 과제 요구사항 준수 여부
🔴 보안 / 성능 주의
🟡 개선 제안
💡 학습 포인트
🤔 생각해보기현재
|
🤖 AI 코드리뷰
📋 과제 요구사항 준수 여부
🟢 잘된 점
🔴 필수 수정운영 환경 설정 파일에 민감 정보 하드코딩 (
🟡 권장 개선
💡 학습 포인트
🤔 생각해보기현재
🔄 이전 피드백 반영 여부
|
🤖 AI 코드리뷰
📋 과제 요구사항 준수 여부
🔴 보안 / 성능 주의운영 환경 설정 파일에 민감 정보 하드코딩 (
🟡 개선 제안
🔄 이전 피드백 반영 여부
|
🤖 AI 코드리뷰
📋 과제 요구사항 준수 여부
🔴 보안 / 성능 주의운영 환경 설정 파일에 민감 정보 하드코딩 (
🟡 개선 제안
🤔 생각해보기3번의 리뷰에도 동일한 보안 취약점과 명백한 요구사항 위반(Redisson 사용, CyclicBarrier 누락)이 방치되고 있습니다. 만약 이 상태 그대로 운영 환경에 배포된다면, 해커가 GitHub에서 발견한 DB 접속 정보를 이용해 고객의 주문 및 결제 데이터를 몽땅 날려버리는 재앙이 발생할 수 있습니다. 코드 리뷰의 피드백을 무시하는 것이 비즈니스에 미치는 치명적인 연쇄 장애에 대해 어떻게 대비하시겠습니까? 🔄 이전 피드백 반영 여부
|
🤖 AI 코드리뷰
📋 과제 요구사항 준수 여부
🟢 잘된 점
🔴 필수 수정운영 환경 설정 파일에 민감 정보 하드코딩 (
🟡 권장 개선
💡 학습 포인트
🤔 생각해보기현재
🔄 이전 피드백 반영 여부
|
💡 개요
동시성 이슈 테스트를 위한 Redis 락 구현 및 테스트
🛠️ 작업 내용
기본적으로 Event Order api 호출 시 락이 없는 버전 주문 메서드 호출하게 되어있습니다.
추후 최종 사용 버전 정하면 호출 메서드만 바꿔주면 되니 이건 신경 안쓰셔도 됩니다.
을 위한 각각의 메서드 구현
테스트코드에서 사용하기 용이하게 하기 위해
테스트 코드에는 총 11개의 테스트가 있습니다.
테스트 코드를 돌리려면 env 파일에서 test 모드로 변경해야 하구요, application-test.yml 있는지 확인하시고,
도커 컴포즈에서 redis+mysql 만 띄우고 인텔리제이에서 실행하시면 됩니다.
낙관락은 구현 및 테스트 했지만 엔티티 자체를 변경해야 하기 때문에 업로드 하지 않습니다.