[Kubernetes] Kubernetes Pod 간 Connection reset 오류, 원인과 해결 방법
·
개발 (Development)/Kubernetes
문제 상황내부에서 운영 중인 두 개의 API Pod A와 B가 있습니다. Pod A는 Pod B의 특정 API를 호출하여 인증 등의 기능을 위임하고 있으며, 이들은 Kubernetes 클러스터 내에서 서비스 이름을 기반으로 통신하고 있습니다.문제는 간헐적으로 다음과 같은 예외가 발생한다는 점이었습니다.java.net.SocketException: Connection reset특정 시점에서 API 호출이 실패하고, 호출하는 쪽에서 위와 같은 오류가 발생했습니다. Pod B를 재시작하면 문제가 일시적으로 해결되었지만, 원인을 명확히 파악하지 못해 대응이 어려운 상황이었습니다.원인 분석에러 메시지와 인프라 구조를 바탕으로 다음과 같은 가능성을 검토하였습니다.1. 애플리케이션이 응답하지 않는 상태Pod 내부에서..
[Java/SpringBoot] 서버 간 API 호출 오류: Connection reset 에러 분석 및 해결 방법
·
개발 (Development)/Java
1. 에러 개요다음과 같은 에러 메시지가 로그에 출력되었습니다.org.springframework.web.client.ResourceAccessException: I/O error on POST request for [내부 서버 주소]: Connection reset이는 시스템 A에서 내부 시스템 B의 인증 API를 호출하려 했지만, 상대방 서버 측에서 연결을 강제로 종료시켜 발생한 네트워크 오류입니다.2. 에러의 의미Connection reset은 클라이언트가 요청을 보냈지만, 상대 서버가 응답을 주지 않고 연결을 끊어버린 상황을 의미합니다.보통 이는 응답 처리 중 문제가 발생했거나, 서버가 아예 요청을 수신하지 못한 경우에도 발생할 수 있습니다.3. 발생 가능한 원인다음과 같은 원인들이 있을 수 있습..
[PostgreSQL] MyBatis foreach + UNION ALL 쿼리의 성능 문제와 PostgreSQL 최적화
·
개발 (Development)/PostgreSQL
최근 프로젝트에서 MyBatis를 사용하여 여러 자산(asset) 정보를 기준으로 태그(tag) 데이터를 조회하는 기능을 구현하던 중, 성능 저하 문제가 발생했습니다. 문제의 원인을 추적해보니 foreach 루프 안에서 UNION ALL로 다수의 SELECT 구문을 반복 생성하는 방식이 주요 원인이었습니다. 본 글에서는 해당 구조의 문제점과 PostgreSQL에 적합한 최적화 방법을 실제 경험을 바탕으로 정리하였습니다.문제 상황: MyBatis foreach + UNION ALL 사용처음 작성한 쿼리는 아래와 같은 형태였습니다. SELECT item_code, tag_code, tag_name, #{item.assetId} AS asset_physical_na..
[Java] LinkedHashMap에서 특정 값을 가진 항목 제거하는 방법
·
개발 (Development)/Java
Java에서 LinkedHashMap을 사용할 때, 특정 값을 가진 항목을 제거하고자 하는 경우가 있습니다. 하지만 for-each 문을 사용해 직접 제거할 경우 ConcurrentModificationException이 발생할 수 있기 때문에, 안전한 방법으로 처리하는 것이 중요합니다. 이 글에서는 특정 값(ex. 0, null, 혹은 사용자 정의 값)을 가진 항목을 안전하게 제거하는 방법을 소개합니다.특정 값을 가진 항목 제거: Iterator 사용LinkedHashMap은 순서를 유지하는 특성이 있어 반복자(Iterator)를 사용하는 것이 가장 안전합니다.예제 코드import java.util.Iterator;import java.util.LinkedHashMap;import java.util.M..
[ADsP] 제45회 데이터 분석 준전문가(ADsP) 시험 합격 후기
·
자격증 (Certifications)/ADsP
지난 5월 17일, 제45회 ADsP(Data Analysis Semi-Professional) 시험에 응시한 이후 드디어 최종 합격 소식을 전하게 되어 후기를 남깁니다. 이 글은 시험 직후 작성했던 후기와 일부 내용이 중복될 수 있으며, 이번에는 최종 결과 발표 이후의 소감과 실질적인 준비 전략을 중심으로 정리하였습니다.시험 당일 일정과 분위기, 시험 난이도에 대해 궁금하신 분은 아래 글을 먼저 참고해주시면 도움이 될 것입니다.[ADsP] 제45회 데이터 분석 준전문가(ADsP) 시험 후기 (시험 직후 작성) [ADsP] 제45회 데이터 분석 준전문가(ADsP) 시험 후기지난 2025년 5월 17일 토요일, 제45회 ADsP(Data Analysis Semi-Professional) 시험에 응시하였습니..