pile·
백엔드·쏘카socar·

Node.js 컨테이너, 왜 깔끔하게 안 죽을까? (feat. Graceful shutdown)

문제Node.js 컨테이너가 SIGTERM 을 받았을 때 in-flight 요청을 끝내지 않고 죽으면 사용자에게 5xx 가 보인다.

접근쏘카가 graceful shutdown 을 제대로 구현 — SIGTERM 핸들러로 새 요청 거부 + 진행 중 요청 완료 대기 + DB 연결 정리. K8s preStop hook 과 readiness probe 를 연동.

결과배포 / 스케일 다운 시 사용자 영향 없이 안전한 종료. Node.js / K8s 운영의 기본기 정리.

쏘카
쏘카 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 백엔드·네이버페이네이버페이·

    Composite PK에서 시작된 Spring Boot 4 / Spring Batch 6 업그레이드 기록

    문제Spring Data JDBC 의 Composite ID 적용을 위해 Spring Boot 3.5 → 4.0.1 업그레이드 시 Spring Batch, Kotlin, Jackson 등 전체 스택 메이저 전환 필요.

    접근Spring Boot 4 / Spring Batch 6 / Spring Framework 7 / Kotlin 2.3 / Jackson 3 / Kotest 6 / Gradle 9 / ojdbc11 순차 업그레이드. Composite ID 는 Persistable 인터페이스로 구현, JdbcDefaultBatchConfiguration 상속으로 메타데이터 저장.

    결과기술 부채 해결 + 장기 유지보수성 개선. 운영 DB 접근 정책 충돌을 사전 식별해 안정적 배포 달성.

    #kotlin#spring#spring-boot+3