EKS 환경에서 Pod 장애 발생 시 요청을 이어받아 처리하는 방법

1. 개요 EKS 환경에서 Spring Boot 애플리케이션이 여러 개의 Pod에서 실행되고 있을 때,특정 Pod가 요청을 처리하는 중 장애로 종료되면, 다른 Pod에서 동일 요청을 이어서 처리할 수 있는가? 이 문서에서는 일반적인 CRUD 요청과 파일 업로드 요청 모두에 대해Pod 장애 발생 시에도 중단 없이 이어서 처리할 수 있는 방법을 설명합니다. 2. 첫 더 읽기

AWS Aurora Failover 대비 Spring Boot 트랜잭션 유지 및 커넥션 폐기 대응 방법

AWS Aurora를 사용하는 Spring Boot 애플리케이션에서 Writer 장애(Failover) 발생 시 트랜잭션을 유지하면서 서비스 중단을 최소화하려면 어떻게 해야 할까?Aurora 클러스터에 연결된 상태에서 Writer 장애 발생 시 기존 커넥션이 유지되지 않으며, 트랜잭션 처리 방식은 autocommit 설정에 따라 다르게 동작한다. 이 글에서는 Aurora 장애 발생 시 트랜잭션이 어떻게 동작하는지와 애플리케이션에서 최적의 대응 방법을 더 읽기

Spring Batch 5.1.2에서 HikariCP 연결 문제 해결 방법

Spring Batch 5.1.2를 사용하면서 HikariCP 연결 문제를 경험하는 경우가 많습니다. 특히, 데이터베이스 재시작 또는 세션 종료 후 커넥션이 끊기는 문제가 발생할 수 있습니다. 이 글에서는 이러한 문제의 원인을 분석하고, 해결 방법을 소개하겠습니다. 1. 문제 원인 분석 Spring Batch는 배치 작업을 실행하면서 데이터베이스와 지속적으로 연결을 유지합니다. 하지만 다음과 같은 상황에서 HikariCP의 더 읽기

Ingress LB 와 WAS 구간의 Session Disconnect 발생 원인 “KeepAlive TimeOut 설정”

KeepAlive Timeout 설정: Ingress Load Balancer와 Web Application Server 간의 세션 Disconnect 시, KeepAlive Timeout 설정이 세션 동작에 영향을 미칠 수 있습니다.
좀비 세션 (Zombie Session): 클라이언트와 서버 간의 세션 종료 후에도 클라이언트가 세션을 유지하려고 할 때 발생하는 문제로, KeepAlive Timeout 설정과 관련이 있을 수 있습니다.
KeepAlive Timeout 설정 영향: KeepAlive Timeout 설정이 너무 길거나 짧으면 세션 Disconnect 시에 좀비 세션 발생 가능성이 높아질 수 있으며, 이를 조절함으로써 문제를 해결할 수 있습니다.

Spring Application [applicationContext.xml] 오류

javax.xml.parsers.ParserConfigurationException: Unable to validate using XSD: Your JAXP provider [org.apache.crimson.jaxp.DocumentBuilderFactoryImpl@131f71a] does not support XML Schema. Are you running on Java 1.4 or below with Apache Crimson? Upgrade to Apache Xerces (or Java 1.5) for full XSD support.   이런 당황스런 오류를 발견 하게 되는 경우가 있는데 이것은 자바 1.4의 XML 더 읽기