TECH NOTES
기술노트
현장에서 검증된 개발 지식을 기록합니다.
4321
Backend
격벽과 부하 제한 — 장애 전파를 끊는 나머지 절반
타임아웃과 서킷 브레이커만으로는 부족하다. 의존성별 자원 풀 분리(격벽), 대기 시간 기반 부하 제한, 적응형 동시성 제어까지 장애가 번지는 경로를 끊는 방법을 정리한다.
Etc
epoch 시계 vs 단조 시계(monotonic) — 시간 측정엔 뭘 써야 하나
epoch 시계는 몇 시냐를, 단조 시계는 얼마나 흘렀냐를 잽니다. 벽시계가 거꾸로 가 타임아웃이 음수가 되는 버그, 두 시계의 용도 구분과 실전 함정을 정리했습니다.
Frontend
AbortSignal.timeout() · any() — fetch 취소를 한 줄로
fetch 타임아웃에 더는 setTimeout·clearTimeout이 필요 없습니다. AbortSignal.timeout()과 any()로 취소 로직을 한 줄로 줄이고 타임아웃과 사용자 취소를 구분하는 최신 패턴을 소개합니다.
Backend
타임아웃 예산과 데드라인 전파 — 유령 작업을 없애는 법
서비스 체인에서 각자 타임아웃을 잡으면 생기는 유령 작업 문제. 데드라인 전파와 Go context로 남은 시간을 넘겨 자원 낭비를 막는 법을 정리했습니다.