Fetch 요청이 멈추지 않게 만들기 — AbortSignal.timeout·사용자 취소·안전한 재시도
도입 fetch()는 HTTP 500에서 자동으로 예외를 던지지 않으며, 업무에 맞는 제한 시간도 대신 정해주지 않는다. 사용자는 이미 화면을 떠났는데 요청이 계속되거나, 실패한 POST가 재시도되어 중복 결제...
운영 검색 결과: 45개
도입 fetch()는 HTTP 500에서 자동으로 예외를 던지지 않으며, 업무에 맞는 제한 시간도 대신 정해주지 않는다. 사용자는 이미 화면을 떠났는데 요청이 계속되거나, 실패한 POST가 재시도되어 중복 결제...
MariaDB 10.11 덤프·복원 검증 — customers 테이블로 원본과 대상 비교하기 덤프 파일이 만들어졌다는 사실만으로 복원이 제대로 끝났다고 판단할 수는 없다. 이 글은 기존 실습 이미지의 testd...
도입 ALTER TABLE이 끝나지 않을 때 테이블 크기만 의심하면 원인을 놓칠 수 있다. Waiting for table metadata lock 상태라면 다른 세션의 열린 트랜잭션 때문에 DDL이 시작되지 ...
도입 웹 서비스를 직접 운영하려면 애플리케이션이 실행될 컴퓨터가 필요하다. 물리 서버를 구매하면 초기 비용과 설치 시간이 발생하고, 트래픽 변화에 맞춰 용량을 조정하기도 어렵다. Amazon Elasti...
도입 서비스 운영에서 “안정적이다”는 표현은 모호하다. 기준이 없으면 장애 판단도 달라진다. 그래서 실무에서는 숫자로 목표를 정의한다. 대표 개념이 SLA, SLO, SLI다. 세 개는 항상 같이 등...
도입 외부 API나 다른 서비스가 느려지면 내 서비스까지 같이 느려지는 경우가 많다. 문제는 실패 자체보다 장애가 연쇄적으로 퍼지는 상황이다. 이걸 막기 위한 대표 패턴이 Circuit Breake...
도입 기능 배포는 했지만 사용자에게 바로 공개하면 위험한 경우가 많다. 특히 결제, 정산, 신규 UI 같은 기능은 문제가 생기면 영향 범위가 크다. 이때 사용하는 방식이 Feature Flag다. ...
도입 서비스를 운영하다 보면 클라이언트가 직접 애플리케이션 서버에 붙지 않게 해야 하는 경우가 많다. 이때 가장 많이 쓰는 구조가 Reverse Proxy다. 앞단에서 요청을 받고, 뒤쪽 서버로 대신 전달...
Context Switching은 CPU가 하나의 작업에서 다른 작업으로 전환하는 과정이다. 멀티태스킹 환경에서 여러 프로세스를 동시에 실행하기 위해 필수적인 동작이다. 하지만 Context Switching...
리눅스에서 파일 디스크립터(File Descriptor, FD)는 “열려 있는 파일을 식별하는 번호”다. 여기서 말하는 파일은 실제 파일뿐 아니라 소켓, 파이프, 장치까지 포함한다. 즉 리눅스에서는 모든 I/...