반응형 java1 [백엔드]Singleflight 디자인패턴 최근 회사에서 특정 API에 트래픽이 몰릴 때 서버가 뻗는 현상을 경험했습니다. 캐시를 도입했는데도 캐시가 만료되는 순간 동시에 들어온 수백 개의 요청이 모두 DB를 호출하면서 발생한 문제였죠. 결국 당장의 극약 처방으로 스케일인아웃으로 해결하긴했지만 백엔드 java 코드 설계상의 개선 필요성은 분명 했습니다.해당 문제를 개선하기위해 구글링을 하던와중 다른 언어에선 이런 사례를 어떻게 해결할까 , Go 언어의 singleflight 패키지와 이를 활용한 패턴을 발견했습니다.📌 문제의 시작: 캐시 Stampede 현상우리 서비스와 일치하는 건 아니지만 이해가 쉬운 예제로 인기 상품 정보를 조회하는 API가 있었습니다:@RestController@RequiredArgsConstructorpublic cla.. 2025. 7. 11. 이전 1 다음