inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

실습으로 배우는 선착순 이벤트 시스템

문제점

안녕하세요 강사님 동시성 테스트에 대한 질문이 있습니다.

752

작성자 없음

작성한 질문수 0

0

현재 apply 메서드에서 if (count > 100) return; 입니다.

이러한 코드는 테스트하기 편하고

수강생들이 쉽게 이해할 수 있게 작성해주셨는데,

실제 비즈니스 로직에서는 예외가 터질텐데 이거에 대해서는 어떻게 테스트하고 적용할 수 있나요?

현재 제 코드는 이러합니다.

주석이 되어있는 부분만 테스트했을 때는

정상적으로 제가 원하는 값을 받을 수 있었는데,

 

ExecutorService executorService = Executors.newFixedThreadPool(32);
CountDownLatch latch = new CountDownLatch(threadCount);

이 부분을 적용해서 테스트를 돌리면 무한으로 돌아가고 테스트가 종료가 되지 않습니다.

 

이러한 에러코드가 뜨는데 해결 방법을 모르겠습니다 ㅠㅠ

constraint 뒤에는 syntax error라고 적혀있습니다.

 

왜 저 두 줄을 작성했을 때 이러한 에러가 발생할까요..?

java docker spring-boot kafka redis

답변 2

0

최상용

안녕하세요.
현재 올려주신 코드구조가 제가 강의로 진행하던 코드랑 많이 상이하여 저 부분만 보고서는 답변을 드리기는 힘들 것 같습니다.
조금 더 많은 정보가 필요할 것 같습니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요. 동시성 테스트에 대한 질문이신데요, 코드에 대한 설명이 부족해서 정확한 해결책을 제시하기 어렵습니다. 하지만 몇 가지 가능한 원인과 해결책에 대해 안내해드릴게요.

첫째로, 무한 루프 오류가 발생하는 이유는 CountDownLatch의 count가 줄어들지 않아서 발생할 수 있습니다. CountDownLatch는 특정 개수로 초기화되며, countDown() 메서드가 호출될 때마다 count가 감소합니다. 모든 작업 스레드가 종료되기 전까지 대기하는 역할을 합니다. 따라서, latch.await() 메서드를 통해 모든 스레드가 종료될 때까지 기다리게 해야 합니다.

둘째로, “constraint 뒤에 syntax error”라고 나와있는데, 제시해주신 코드에서는 constraint라는 요소가 없어서 직접적인 해결책을 드리기 어렵습니다. 정확한 원인 파악을 위해서는 해당 부분의 코드와 발생한 에러 메시지를 더 자세히 살펴보아야 합니다.

마지막으로, 동시성 테스트에 대한 적용 방법은 시나리오에 따라 다를 수 있습니다. 일반적으로는 다양한 동시성 테스트 도구를 사용하여 여러 스레드가 동시에 접근하는 상황을 시뮬레이션하고 테스트해볼 수 있습니다. 예를 들어, JUnit의 @ConcurrencyTest 애노테이션을 사용하거나 다른 동시성 테스트 도구를 활용할 수 있습니다.

좀 더 자세한 도움을 드리기 위해서는 코드와 에러 메시지를 자세히 알아야 하지만, 일단은 위의 가이드를 통해 해결해보시길 권장드립니다. 코드와 에러 메시지를 더 자세히 남겨주시면 보다 정확한 답변을 드릴 수 있을 거예요. 수고하세요!

ApplyService와 Consumer서비스의 db공유?

0

55

2

consumer가 topic을 전부 사용하기 전에 사용자에게는 쿠폰이 발급된것으로 확인하는 과정에서 발생가능한 문제.

0

76

1

쿠폰에 관련되어서 좀 더 참고할만한 자료가 있을까요?

0

85

2

흐름정리 제가 이해한게 맞나요?

0

73

2

안되서 스트레스 받아요

-2

109

2

프로젝트 진행할때 모듈로 추가하는 이유가 궁금합니다!

0

183

2

Redis 활용하기 문제점 해결하기 부분이 이해가 잘 안됩니다...

0

213

1

카프카를 도입하고 난 뒤 로그로 보여지는 장점을 발견하지 못하고 있습니다.

0

167

2

키생성 방식에 따른 성능

0

167

2

사용자 동선에 대한 트랜잭션 문의

0

134

2

강사님 강의를 듣고 실제 프로젝트에서 이벤트 응모 시스템을 만들어 봤습니다.

0

210

1

쿠폰 발급 개수 제한

0

183

2

ApplyService 의 총 처리 시간이 궁금합니다.

0

154

1

쿠폰 생성 에러 처리에 관해서 질문이 있습니다.

0

224

2

마지막에 하신 테스트 자체는 실패하는 게 맞는거죠??

0

276

2

안녕하세요 질문 있습니다!

0

294

1

쿠폰 발급 유저 흐름에 대한 질문

0

308

2

수량 조절에 대한 질문이 있습니다.

0

230

2

kafka Producer 실행 중 에러 시 redis count 정합성 이슈

0

398

2

test 과정에서 오류가 발생합니다.

0

383

1

도커 환경설정에 대해서

0

269

2

Redis의 INCR 사용 해도 Race condition이 잡히지 않는 문제

0

597

1

consumer 모듈

0

322

2

카프카 토픽 생성오류

0

383

2