최신 글
Online feature store를 붙였더니 추천 점수가 흔들렸다: freshness gate를 둔 이유
·8 분
추천 모델 서빙 경로에 online feature store를 붙인 뒤 offline 학습 기준과 online feature 시계가 어긋난 사례를 바탕으로, freshness gate와 fallback 계약을 운영 경계로 만든 과정을 정리한다.
PodDisruptionBudget을 넣었는데 node drain이 멈췄다: disruption budget을 SLO 계약으로 둔 이유
·7 분
Kubernetes PodDisruptionBudget을 모든 서비스에 넣었지만 node drain과 rolling update가 서로 막히며 배포 창이 길어진 사건을 바탕으로, PDB를 replica 수가 아니라 SLO와 실패 도메인 계약으로 다룬 과정을 정리한다.
Read model replay가 주문 상태를 되돌렸다: projection checkpoint를 계약으로 둔 이유
·8 분
CQRS read model을 빠르게 재생성하려다 오래된 projection worker가 최신 주문 상태를 덮어쓴 사례를 바탕으로, offset, schema version, replay window를 checkpoint 계약으로 묶은 과정을 정리한다.
TypeScript project references를 켰더니 CI가 더 느려졌다: build graph를 계약으로 둔 이유
·7 분
모노레포에서 TypeScript project references와 task cache를 붙였지만 CI가 오히려 느려진 사례를 바탕으로, package boundary, generated type ownership, graph explain report를 어떻게 검증 계약으로 만들었는지 정리한다.
Rendezvous hashing으로 shard를 옮겼더니 cache miss가 폭증했다: weight epoch를 둔 이유
·8 분
Rendezvous hashing을 세션 shard 재배치에 적용했다가 weight 변경 한 번으로 cache miss와 DB 부하가 동시에 튄 경험을 바탕으로, 이동량 예산과 weight epoch, shadow owner 검증을 운영 계약으로 만든 과정을 정리한다.