서비스 하나가 죽으니 옆에 있던 것들까지 줄줄이 넘어가던 밤
느려지던 서비스를 갑자기 아무도 안 부르기 시작할 때, 서킷브레이커
1[circuit-breaker] recommend-service: OPEN2Calls to recommend-service are now short-circuited
OPEN이라는 상태값을 다시 들여다보다가 이유를 알아챘습니다. 실패율이 일정 수준을 넘어가자, 다른 서비스들이 더 이상 추천 서비스를 부르지 않고 곧바로 실패 처리하도록 스스로 차단하고 있었습니다.처리 못 한 메시지가 그냥 사라지지 않을 때, 데드레터 큐
1dead-letter-queue: recommend-events2 pending: 1,204 messages
파일 하나가 다른 위치를 가리킬 뿐일 때, 심볼릭 링크
1$ ls -l /app/current2current -> /app/releases/v482
-> 표시가 있는 파일은 실제 파일이 아니라, 다른 위치를 가리키기만 하는 이름표 같은 것이었습니다.current라는 이름표만 새 폴더 쪽으로 다시 걸어주는 방식으로 배포를 순식간에 전환하고 있었습니다.
로그인한 적도 없는데 계속 돌고 있는 프로세스, 데몬
연결이 갑자기 안 될 때, 바닥나 있던 소켓
1Error: EMFILE, too many open sockets

자주 묻는 질문
서킷브레이커가 열리면 사용자는 어떻게 되나요?
해당 기능만 잠시 못 쓰게 되지만, 전체 서비스가 멈추는 것보다는 훨씬 낫습니다. 추천 목록 대신 기본 목록을 보여주는 식으로 대체 응답을 준비해두면 사용자가 느끼는 불편도 줄일 수 있습니다.
데드레터 큐에 쌓인 메시지는 자동으로 재처리되나요?
설정에 따라 다릅니다. 자동으로 몇 차례 재시도하게 만들 수도 있고, 사람이 직접 확인하고 재처리 여부를 결정하도록 남겨두는 경우도 많습니다.
소켓 고갈은 왜 갑자기 새벽에 터졌나요?
평소엔 연결이 금방 정리돼서 티가 안 나다가, 장애로 재시도가 반복되면서 정리되지 않은 연결이 짧은 시간에 몰아서 쌓였기 때문입니다. 평소보다 몇 배 많은 연결이 동시에 열려 있었던 셈입니다.
<a href="/glossary/code-generation" class="glossary-link" title="AI가 자연어 설명이나 기존 코드 문맥을 바탕으로 프로그래밍 코드를 자동으로 작성하는 기술입니다.">AI 코딩</a> 도구 용어 사전 연작의 8편입니다. 다음 편 예고 · 9편 보안팀에서 AI 기능 점검을 요청받은 날 <a href="/glossary/ai-guardrails" class="glossary-link" title="AI 모델이 기업의 정책과 안전 기준을 벗어나지 않도록 입력값과 출력값을 실시간으로 검사하고 제어하는 기술적 보안 계층입니다. 부적절한 답변, 개인정보 유출, 환각 현상을 방지하여 비즈니스 안정성을 확보합니다.">가드레일</a> · 프롬프트 인젝션 · <a href="/glossary/sandbox" class="glossary-link" title="외부 시스템과 격리된 안전한 가상 환경으로, AI가 생성한 코드를 안전하게 실행하여 보안 위협을 차단하거나 새로운 서비스를 법적·기술적 제약 없이 실험하는 독립된 테스트 공간입니다.">샌드박스</a> 탈출 · 포트·로컬호스트 · 스태시