ioh's Development

  • 홈
  • 태그
  • 방명록

Scheduled 1

@Scheduled가 3대에서 돌면 생기는 일: 분산 환경 스케줄러의 함정

테스트에서 사라진 30명동시성 테스트를 돌리고 있었다. 100명이 대기열에 등록하고, 전원이 활성화된 뒤 주문하는 시나리오였다. 그런데 결과가 계속 70명만 성공했다.100 - 70 = 30. 배치 사이즈가 30이었다.처음에는 동시성 문제를 의심했다. 락 충돌인가? 커넥션 풀 부족인가? 한참을 뒤지다가 원인을 찾았다. @SpringBootTest가 @Scheduled 빈을 자동으로 시작하고, 테스트 실행 중에 스케줄러가 대기열에서 30명을 꺼내가고 있었다. 테스트가 100명을 등록하고 읽으려는 사이에 스케줄러가 30명을 소비해버린 것이다.이건 로컬에서의 문제였지만, 프로덕션에서는 더 심각한 버전이 존재한다. 서버가 3대면 스케줄러도 3개다.@Scheduled의 본질: JVM 로컬 타이머@Scheduled..

백엔드 프레임워크 2026.04.03
이전
1
다음
더보기
프로필사진

ioh's Development

"코드는 나의 언어, 디버깅은 나의 모험!" 배움은 기록에서, 성장은 도전에서 시작됩니다. 이 블로그는 개발 여정을 기록하고, 성장의 발자취를 남기는 공간입니다. 삽질도 성공도 모두 소중한 경험으로, 개발의 미로를 탐험하며 얻은 보물들을 공유합니다. 다양한 관심사와 배운 것들, 그리고 주니어 개발자로서의 고민과 성장을 담아내는 블로그입니다.

  • 분류 전체보기 (240)
    • 아키텍처 (7)
    • AWS 및 클라우드 인프라 (0)
    • 운영 (17)
      • 웹 애플리케이션 서버 (Web Applicatio.. (1)
      • Kafka & MQ (19)
      • 로깅 및 모니터링 (0)
    • 프로그래밍 언어 (19)
      • Java (16)
      • Kotlin (3)
    • 알고리즘 & 자료구조 (86)
      • 자료구조 (Data Structures) (1)
      • 코딩테스트 준비 (40)
      • 스터디 (Algorithm Study) (36)
    • 백엔드 프레임워크 (19)
      • SpringBoot (3)
      • Spring Framework (2)
      • JPA & Mybatis (9)
    • 데이터베이스 (18)
      • RDBMS (관계형 데이터베이스) (1)
      • NoSQL (3)
      • Elasticsearch (3)
    • Network (10)
    • CICD 및 버전 관리 (2)
      • CICD (2)
      • 버전 관리 (0)
    • React (3)
    • 도서 (11)
      • 수학리부트 (2)
      • 알고리즘 (1)
      • 리액트 교과서 (5)
      • 디자인 패턴의 아름다움 (0)
    • 개발환경 (1)
      • Dev Setup (1)
      • IDE 및 개발 도구 (0)
      • 프로젝트 관리 도구 (0)
    • 오픈소스 기여 (1)
    • 자격증 (2)
      • 정보처리기사 (1)
    • 스터디 (15)
      • 루퍼스 (12)

Tag

루퍼스, 루프팩 3기, Loopers, 항해, Redis, 프로그래머스, 대기열, 루프팩, 99일지, 소프트웨어 아키텍처, til, 개발자스터디, 루퍼스 루프팩, 정보처리기사, 리눅스마스터자격증, Kafka, 자료구조, 99클럽, java, 코딩테스트,

최근글과 인기글

  • 최근글
  • 인기글

공지사항

Calendar

«   2026/05   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

Copyright © AXZ Corp. All rights reserved.

  • My Github

티스토리툴바