리스크를 분류하고 장애·재시도 설계와 보안 로깅을 함께 챙긴 결
DB와 외부 API를 연동할 때 제가 가장 먼저 정의하는 건 장애가 생기면 어떻게 되는가입니다. 외부 API는 언제든 타임아웃이 생길 수 있어서 재시도 횟수와 백오프 간격을 처음부터 설계했습니다. 한 번은 외부 API 응답이 늦어지면서 스레드를 물고 있다가 다운스트림 DB 커넥션 풀이 모두 소진되는 장애를 겪었고, 그 이후로 외부 호출은 Circuit Breaker 패턴을 적용했습니다. 여러 소스를 합칠 때 타임스탬프 기준을 통일하지 않으면 집계가 틀리는 경우가 있어서, 소스별 기준 시간대를 문서로 고정해 뒀습니다. API 키 같은 민감 정보는 코드에 박지 않고 환경 변수로 분리했는데, 팀 합류 초기에 기존 코드에 하드코딩된 키가 있는 걸 발견하고 즉시 교체한 일도 있었습니다.