파티셔닝과 샤딩 - 기준 선택, 로컬과 글로벌 인덱스, 재분배 비용 Notes 테이블이 커져서 느려졌을 때 “파티셔닝하자”가 나오는데, 무엇이 해결되고 무엇은 그대로인지 구분하지 않으면 복잡도만 늘어난다. 그리고 파티셔닝과 샤딩은 같은 단어로 묶이기 쉽지만, 한 대 안에서 나누는 것과 여러 대로 나누는 것은 전혀 다른 문제다. 둘의 차이 파티셔닝 샤딩 ... 2026/08/09 Database
순서와 격리는 같은 자원을 반대로 당긴다 - 핫 키가 워커 하나를 넘는 순간 세 설계가 갈라지는 지점 실무 사례 Notes 카카오뱅크 알림 플랫폼 리뷰에서 “순서와 격리는 같은 자원을 두고 반대 방향으로 당긴다”고 썼다. monticker의 파티션 실험에서는 핫 종목이 같은 파티션 이웃을 p99 13초로 함께 밀어내는 것을 봤다. 두 번 다 현상은 확인했지만, 어느 지점에서 갈라지는지는 재지 않았다. 이 글이 그 측정이다. 저장소는 data-ops-lab이고 재실행은 한... 2026/08/08 Common
무신사 「Kafka와 Strimzi를 이용하여 6개의 도메인을 하나의 도메인으로 합쳐보았습니다」 리뷰 — 배치 없이 CDC와 Kafka Streams로 옮긴 결정, 그리고 통합 모델이 원본과 같다는 것을 누가 확인하는가 Tech Blog Review 원문: Kafka와 Strimzi를 이용하여 6개의 도메인을 하나의 도메인으로 합쳐보았습니다 — MUSINSA techblog, 조유신(커뮤니티개발팀), 2024-06-27 앞서 리뷰한 네이버페이 전환 글과 나란히 읽으면 좋은 글이다. 둘 다 오래된 시스템을 멈추지 않고 새 구조로 옮기는 이야기이고, 둘 다 CDC(DB의 변경 로그를 읽어 변경 이벤... 2026/08/06 Musinsa 빅테크 기술 블로그 리뷰 56편
API 버저닝과 호환성 - 스키마 진화 규칙 Notes 버저닝을 “URL에 v1을 붙일까 헤더로 할까”의 문제로 시작하면 핵심을 놓친다. 실제 비용은 v2를 만든 뒤에 생긴다. 두 버전을 동시에 운영하고, 언제 v1을 끄고, 그 사이 버그는 양쪽에 고친다. 그래서 첫 질문은 “어떻게 버저닝할까”가 아니라 “버전을 올리지 않고 바꿀 수 있는가” 여야 한다. 호환성의 네 가지 메시지 스키마에서 쓰는 어... 2026/08/03 Architecture
네이버 D2 「@RequestCache: HTTP 요청 범위 캐싱을 위한 커스텀 애너테이션 개발기」 리뷰 — 캐시의 수명을 '요청 하나'로 맞추면 TTL 고민이 사라진다, 그리고 @RequestScope가 안 되는 이유 Tech Blog Review 원문: @RequestCache: HTTP 요청 범위 캐싱을 위한 커스텀 애너테이션 개발기 — NAVER D2, 이상혁, 2025-11-26 한 줄 요약 한 HTTP 요청을 처리하는 동안 같은 외부 API를 여러 번 부르는 일이 흔하다. 원문은 “캐시의 수명을 요청 하나와 똑같이” 맞추는 애너테이션 @RequestCache를 만들었다. TTL(... 2026/08/02 Naver 빅테크 기술 블로그 리뷰 54편
혼잡 제어와 지연 - BDP, 버퍼블로트, 처리량과 지연의 교환 Notes 대역폭은 넉넉한데 파일 전송이 느리다. 다운로드를 시작하면 다른 요청의 지연이 함께 튄다. 둘 다 “네트워크가 느리다”로 뭉뚱그려지지만 원인이 다르고, 혼잡 제어가 무엇을 하는지 알면 갈린다. 대역폭이 남아도 느린 이유: BDP TCP는 ACK를 받기 전에 보낼 수 있는 양(윈도)이 정해져 있다. 그 윈도가 작으면 한 왕복시간(RTT)마다 윈도... 2026/07/31 Network
컬리 「컬리의 입고 시스템이 외부 인입 데이터를 안전하게 동기화하는 방법」 리뷰 — 145회 재시도가 맞는 도메인과 재시도를 금지한 도메인, 그리고 발행부와 수신부가 각자 책임지는 구조 Tech Blog Review 원문: 컬리의 입고 시스템이 외부 인입 데이터를 안전하게 동기화하는 방법 — 아웃박스 패턴과 재시도 토픽으로 외부 채널 입고 정보를 안전하게 동기화하기 — 컬리 기술 블로그, 이창섭(SCM프로덕트개발), 2026-01-12 나중에 쓴 parity-pay 5편과 같은 패턴, 같은 스택(Spring, Kafka), 같은 해에 쓴 글이다. 그런데 재시도에... 2026/07/27 Kurly 빅테크 기술 블로그 리뷰 51편
2026-07-26-TIL: 진짜 Spring 내부 읽기와 BeanFactoryPostProcessor 등록 순서 TIL 요즘은 Spring을 두 방향에서 보고 있다. spring-lite에서는 직접 만든 축소판을 원고와 시각화 페이지로 정리했고, 새로 시작한 spring-internals-lab에서는 실제 Spring Framework 6.2 소스를 읽고 실험으로 확인했다. 만든 것과 진짜를 나란히 두니, 내가 축소하면서 생략한 부분이 어디인지 더 분명하게 보였다. ... 2026/07/26 2026-TIL
카카오 「잃어버린 리포트를 찾아서: 카카오 메시징 시스템의 경쟁 조건 문제와 안티 패턴 제거 과정」 리뷰 — 벤더가 8ms 만에 리포트를 보냈고, 우리는 101ms짜리 트랜잭션 안에 있었다 Tech Blog Review 원문: 잃어버린 리포트를 찾아서: 카카오 메시징 시스템의 경쟁 조건 문제와 안티 패턴 제거 과정 — kakao tech, ravae.c 최지원(커넥티비티 플랫폼), 2026-02-09 한 줄 요약 사내 SMS 플랫폼 KIMS(하루 약 100만 건)에서 벤더의 전송 결과 리포트가 분명히 수신됐는데 DB의 메시지 상태가 SENT에 멈춰 있는 일이 ... 2026/07/26 Kakao 빅테크 기술 블로그 리뷰 50편
리액티브와 백프레셔 - WebFlux가 해결하는 것과 옮기는 것 Notes WebFlux를 “더 빠른 스프링”으로 소개하면 도입 후 실망한다. 처리량이 그대로거나 오히려 떨어지고, 디버깅은 훨씬 어려워진다. 리액티브가 실제로 해결하는 문제는 속도가 아니라 자원 사용 방식이고, 그 대가를 알고 골라야 한다. 서블릿 모델의 한계 서블릿 스택은 요청 하나가 스레드 하나를 점유한다. 외부 호출을 기다리는 동안에도 쥐고 있다.... 2026/07/24 Spring