2025/04 2

Kafka 리스너에서 HTTP 호출 장애 대응기: 문제 분석과 개선까지

장애 상황어느 날, 외부기관 HTTP 호출이 지연되는 이슈가 발생했다.이 작은 문제가 예상보다 시스템 전체에 크게 영향을 끼쳤다.발생 원인외부 방화벽 전환 과정에서 몇 초 동안 네트워크 순단이 일어났고,프록시 서버가 외부기관과 연결할 수 없는 상태가 됐다.증상프록시 서버 타임아웃은 1분으로 설정돼 있었다.그런데 우리 서버의 HTTP 요청 부분에는 별도의 타임아웃 설정이 빠져 있어서,요청이 최대 1분간 블로킹됐다.이 요청을 처리하던 Kafka 리스너 스레드도 같이 블로킹되면서,Kafka 메시지의 offset commit이 지연되고,결과적으로 메시지가 적체(backlog) 되는 상황까지 이어졌다.장애 분석 요약프록시를 통해 외부기관 호출 시 소켓이 정상 종료되지 않으면서 블로킹 발생HTTP 클라이언트에 re..

장애 개선 2025.04.22

GraalVM Native 실행 시 clone3 때문에 발생한 에러 정리

에러 상황Graalvm으로 네이티브 이미지를 만들고 이걸 도커로 말아서 실행 시 에러 발생함.에러 메시지java.lang.OutOfMemoryError: unable to create native thread : possibly out of memory or process/resource limits reached at com.oracle.svm.core.thread.PlatformThreads.startThread(PlatformThreads.java:741) ...  🧠 원인 분석🔹 핵심 원인: GraalVM Native가 clone3() 시스템 콜을 호출하는데,→ Docker의 보안 정책(seccomp)이 이 syscall을 막고 있어서 실행 실패📌 clone3()은 무엇인가?clone3()은..

장애 개선/Error 2025.04.01