내용 정정: Aurora MySQL이라는 이유만으로 HikariCP keepaliveTime이 불필요하다고 단정할 수 없습니다. DB·프록시·방화벽의 연결 제한, 드라이버와 HikariCP 버전에 따라 판단해야 합니다. 기존의 “Aurora Proxy” 표기는 AWS 서비스명인 RDS Proxy로 바로잡습니다. keepaliveTime이 하는 일 HikariCP가 풀의 유휴 연결을 주기적으로 확인하는 설정입니다. 사용 중인 쿼리의 실행 시간을 제한하거나 Failover로 끊긴 트랜잭션을 복구하지는 않습니다. 더 읽기
jaeuk
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 장애 발생 시 트랜잭션이 어떻게 동작하는지와 애플리케이션에서 최적의 대응 방법을 더 읽기
KISA SEED ECB 암복호화 및 문자열 변환 방법
KISA SEED는 한국정보보호진흥원(KISA)에서 개발한 블록 암호 알고리즘으로, 국내에서 널리 사용되는 암호화 방식 중 하나입니다. SEED 알고리즘은 여러 운영 모드를 지원하는데, 그중 ECB(Electronic Codebook) 모드는 블록 단위로 독립적으로 암호화하는 방식입니다. SEED ECB 모드를 사용하여 데이터를 암·복호화하면 byte[] 형태의 결과값을 얻게 되는데, 이를 문자열(String)로 변환하여 저장하거나 전송하는 방법이 필요할 수 있습니다. 이 더 읽기
Kafka 컨슈머를 EKS에서 운영할 때 발생하는 문제와 해결 방법
1. 개요 Kafka 컨슈머를 Amazon EKS 환경에서 운영할 때, Pod가 생성 및 삭제되면서 중복 소비, 메시지 누락, Rebalance 지연 등의 문제가 발생할 수 있습니다. 이 글에서는 Kafka 컨슈머의 동작 방식과 안정적인 운영 방법을 정리합니다. 2. Kafka 컨슈머와 EKS의 배포 방식 EKS에서는 Rolling Update 방식으로 새로운 버전의 Pod를 배포하면 기존 Pod가 더 읽기
Spring Batch 5.1.2에서 HikariCP 연결 문제 해결 방법
Spring Batch 5.1.2를 사용하면서 HikariCP 연결 문제를 경험하는 경우가 많습니다. 특히, 데이터베이스 재시작 또는 세션 종료 후 커넥션이 끊기는 문제가 발생할 수 있습니다. 이 글에서는 이러한 문제의 원인을 분석하고, 해결 방법을 소개하겠습니다. 1. 문제 원인 분석 Spring Batch는 배치 작업을 실행하면서 데이터베이스와 지속적으로 연결을 유지합니다. 하지만 다음과 같은 상황에서 HikariCP의 더 읽기
아이폰에서 AWS 사이트가 비정상적으로 동작하는 경우
아이폰의 Safari 및 Chrome에서 AWS Application Load Balancer를 통해 사이트에 연결하는 문제가 발생하는 경우, 로드 밸런서에서 http/2가 활성화되어 있는지 확인해보는 것이 좋습니다. 활성화되어 있다면, Apache를 사용하고 있다면 .htaccess 파일에 다음 라인을 추가해보세요. Header unset Upgrade 이 작은 라인이 사이트가 작동하느냐 마느냐의 차이를 만들 수 있습니다. 왜 그러냐면 Http/2는 2015년에 출시된 더 읽기
VSCode에서 snake_case를 camelcase로 변경
# 작업전 원본hotel_Codeprom_Codeprom_Nameprom_Groupbook_Fdatebook_Tdatestay_Fdatestay_Tdatedc_Typedc_Amountamtlimitremarkspkg_Incinsert_Userinsert_Datetimeupdate_Userupdate_Datetime 1. CTRL + H (바꾸기 모드 대화창 열기)2. ALT + R (표현식 모드로 변경)3. _([a-zA-Z]) 입력 (언더스코어로 시작하는 첫문자 찾기)4. TAB 키를 치고 $1 입력하기, 대체 문자열 입력하는 칸으로 이동하여 대체 문자열 지정($1는 대체문자열을 지정하는 것임 변수같은 느낌)5. ALT + ENTER (해당하는 문자열 모두 선택)6. F1 키 더 읽기
ajax html data append CSR? SSR?
ajax를 사용하여 데이터를 받아와서 특정 아이디에 append하는 방법은 클라이언트 측에서 실행되는(Client-Side Rendering, CSR) 방식입니다. 이 방식은 웹 페이지가 브라우저에서 로드된 후 JavaScript를 사용하여 추가적인 데이터를 받아오고 동적으로 페이지를 업데이트하는 방식입니다. CSR은 웹 페이지가 초기에 로드되고 나면, JavaScript를 사용하여 필요한 데이터를 서버로부터 받아오고 동적으로 콘텐츠를 생성합니다. 사용자가 페이지와 상호작용하면, 필요한 데이터를 더 읽기
location.history not working
location.history.back() 가 동작 하지 않는다