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

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

  • 분류 전체보기 (253)
    • AX (5)
    • 아키텍처 (7)
    • AWS 및 클라우드 인프라 (0)
    • 운영 (38)
      • 웹 애플리케이션 서버 (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)
    • 도서 (12)
      • 수학리부트 (2)
      • 알고리즘 (1)
      • 리액트 교과서 (5)
      • 디자인 패턴의 아름다움 (0)
    • 개발환경 (1)
      • Dev Setup (1)
      • IDE 및 개발 도구 (0)
      • 프로젝트 관리 도구 (0)
    • 오픈소스 기여 (1)
    • 자격증 (2)
      • 정보처리기사 (1)
    • 스터디 (9)
      • 루퍼스 (12)

Tag

Redis, 프로그래머스, 대기열, Kafka, 리눅스마스터자격증, 루프팩, 항해, 99일지, 개발자스터디, 루프팩 3기, 루퍼스, 코딩테스트, 소프트웨어 아키텍처, 99클럽, 자료구조, java, Loopers, til, 가상 면접 사례로 배우는 대규모 시스템 설계 기초, 루퍼스 루프팩,

최근글과 인기글

  • 최근글
  • 인기글

공지사항

Calendar

«   2026/08   »
일 월 화 수 목 금 토
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 © Daum Corp. All rights reserved.

  • My Github

티스토리툴바