EKS에서 CronJob 실행 시 다음과 같은 오류 메시지를 본 적 있으신가요? [BackoffLimitExceeded] Job has reached the specified backoff limit 이 오류는 Kubernetes Batch Job이 실패했고, 설정된 최대 재시도 횟수를 초과했을 때 발생합니다. 이 글에서는 해당 에러가 발생하는 이유와, 실전에서 이를 어떻게 해결할 수 있는지 자세히 살펴봅니다. 오류 원인: backoffLimit 더 읽기
Aurora MySQL에서 복잡한 JSON 서브쿼리로 인한 Signal 11 Crash 원인 분석 및 대응법
문제 요약 AWS RDS에서 운영 중인 Aurora MySQL 8.0.28 기반의 인스턴스에서 특정 복잡 쿼리 실행 중 signal 11 (Segmentation Fault) 이 발생하여 인스턴스가 재시작되었습니다.
문제 쿼리 구조 (샘플 변환) SELECT m.user_id, IFNULL(SUM(IF(( SELECT IFNULL((LENGTH(log.json_column) – LENGTH(REPLACE(log.json_column, ‘sampleKey’, ”)) / 15), 0) FROM user_log log WHERE log.user_id = m.user_id 더 읽기
Kubernetes에서 CronJob 병렬 실행 없이 노드 그룹(batch-alpha 등) 내 분산 처리하기: rotate-group 기반 전략
문제 개요 대규모 Kubernetes 클러스터에서 수백 개의 CronJob이 실행되며, 각 Job은 반드시 특정 태그(group=batch-alpha, group=batch-beta, group=batch-gamma)를 갖는 노드 풀에서만 실행되어야 합니다. 가장 중요한 요구사항은 동시에 병렬 실행이 절대로 발생해서는 안 된다는 점입니다.
일반적인 접근 방식의 한계
최종 채택한 전략 요약
실제 구성 요소 1. CronJob YAML 더 읽기
Aurora MySQL Signal 11 Crash 분석과 Spring Boot 커넥션 오류 대응 전략
개요 2025년 3월 26일, AWS Aurora MySQL 환경에서 Signal 11로 인해 데이터베이스가 비정상 종료되는 장애가 발생했습니다. 이와 동시에 Spring Boot 기반의 배치 애플리케이션에서는 커넥션 풀 오류로 애플리케이션 구동 실패가 발생했으며, 이 글에서는 그 원인과 해결 방안을 상세히 정리합니다.
장애 타임라인 요약 항목 시각 DB 다운 발생 2025-03-26 10:54:19 더 읽기
Spring Batch Kubernetes 종료 처리: graceful shutdown, shutdown hook, 컨테이너 runtime hang 완전 정복
Kubernetes 환경에서 sample-batch 시스템은 Java 기반의 Spring Batch Job을 실행하고 있으며, 안정적인 종료 처리가 매우 중요합니다. 특히 다음과 같은 요구사항을 만족해야 합니다: 이를 위해 다음 설정 및 코드 전략을 활용했습니다: 핵심 설정 yaml복사편집activeDeadlineSeconds: 180 terminationGracePeriodSeconds: 10
코드 전략 요약 1. Shutdown Hook에서 Whatap 처리 및 Thread 정리 Runtime.getRuntime().addShutdownHook(new 더 읽기