대량 배치 안정성을 높이기 위한 구조 개선: Part 5 - 배타적 락과 조건부 해제로 순서를 보장하기 Notes 5편. 배타적 락과 조건부 해제로 순서를 보장하기 앞선 글에서 확인한 문제는 단순했다. 락을 쓰고 있었지만, 락의 생명주기와 실제 작업 생명주기가 일치하지 않았다. 결국 필요한 것은 “락이 존재하느냐”가 아니라 누가 락을 가졌는지, 그리고 그 락을 누가 해제할 수 있는지를 분명하게 만드는 구조였다. 왜 단순한 SET / DEL 패턴으로는 부족했나 ... 2026/01/03 Notes, Common
키 생성 병목을 추적해 구조를 바꾼 기록: Part 1 - INSERT가 느린 줄 알았다 Notes Part 1. INSERT가 느린 줄 알았다 – 2분짜리 배치의 착각 (기술 보강판) 성능 이슈를 처음 마주하면, 우리는 거의 본능적으로 같은 곳을 본다. INSERT. 그리고 대부분의 경우, 그 판단은 절반은 맞고 절반은 틀리다. 1. 문제 상황: “실패하지 않지만, 너무 느린 배치” 문제가 된 배치는 구조적으로 단순했다. 입... 2026/01/03 Notes, Common
운에 맡기던 배치를 시스템으로 바꾸기: Part 1 — 왜 이 배치는 가끔 터질까? Notes 이 시리즈는 80만 건 이상 데이터를 처리하는 배치 시스템을 운영하며 겪은 문제와 개선 과정을 기록한 글입니다. Redis 락, 단일 트랜잭션, 폴링 기반 배치처럼 흔히 쓰이는 구조가 실제 운영 환경에서는 어떤 식으로 정합성 문제와 장애로 이어지는지, 그리고 이를 어떻게 시스템적으로 해결했는지를 다룹니다. 이 글은 단순한 성능 최적화나 기술... 2025/12/19 Notes, Common
주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 3장 성능을 좌우하는 DB 설계와 쿼리 Book 백엔드 성능 문제에서 가장 자주 병목이 되는 곳은 결국 DB다. 애플리케이션은 수평 확장이 비교적 쉽지만, DB는 잘못 설계되면 병목이 누적되기 쉽다. 이 장의 핵심 좋은 DB 설계는 단순히 정규화/비정규화 선택 문제가 아니다. 쿼리 패턴과 인덱스 전략이 실제 성능을 결정한다. 쿼리는 “문법적으로 맞는지”가 아니라 “어떻게 실행되는지”... 2025/12/04 Book, 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식
2025-11-17-TIL TIL Today I Learned 오늘은 올해 봤던 면접중 하나를 복기하면서 내가 잘 대답하지 못 했던 개념들, 그리고 내가 잘 설명하지 못 했던 나의 경험들에 대해서 정리해보았다. 그때 당시에는 몰랐는데 내가 들어도 정말 매력이 느껴지지 않는 지원자로 들린다. 뭔가 알맹이는 없고 껍데기만 있는 것 같다. 플랫폼이란 플랫폼(Platform)은 사람들이... 2025/11/17 TIL, 2025-TIL
2025-11-11-TIL TIL Today I Learned 오늘 동네를 돌아다니다가 수많은 임대 건물들과 손님이 없는 가게들을 보았다. 그 손님이 없는 술집, 음식점, 그리고 카페에는 사장님들이 각자 쓸쓸하게 또는 굳건하게 자리를 지키는 모습이 보였다. 어두운 동네에서 따뜻한 주황빛 하나가 사장님을 비추고 있는데, 어떤 사람은 핸드폰만 만지면서 마냥 기다리기만 했고, 어떤 사람은... 2025/11/11 TIL, 2025-TIL
Bulkhead Pattern Notes Bulkhead Pattern Bulkhead(Partition, 격벽)란 항공기나 선박에서 내부의 구간을 나누는 칸막이 역할을 하는 요소를 말한다. 이는 구획별로 침수 피해를 입어도 다른 구획은 피해를 입지않도록 막아주는 역할을 한다. 서버에서 데이터의 흐름을 살펴보면 물의 흐름과 비슷한 점이 많다. 따라서 파이프의 서킷 브레이커 같은 용어를 가... 2025/11/10 Archive, Web
2025-11-05-TIL TIL Today I Learned 오늘의집 커피챗을 대비하면서 나에게 도움이 될만한 질문을 준비해보았다. 실제로 간단한 커머스 서비스를 설계하고 내부 시스템까지 구축해보면서 커머스의 구조를 대략적으로 파악해보려고 한다. 공고 내용을 바탕으로 보면, 오늘의집 커머스 백엔드 포지션은 트래픽이 높은 커머스 코어 도메인(주문·결제·정산 등)을 다루면서, AI ... 2025/11/05 TIL, 2025-TIL
2025-11-04-TIL TIL Today I Learned 오늘은 링크드인에서 B사의 개발자분이 직접 채용공고와 함께 글을 올린것을 보았다. 편하게 연락달라는 글과 연락처 및 메일, 그리고 채용공고 링크가 있었다. 이렇게 올라온 글은 어떤 목적으로 쓰여진 것일까? 내가 생각하기로는 지원자 입장에서는 편하게 연락해서 커피챗이나 간단한 통화를 해보고 내 이력서의 이름이라도 한 번 더... 2025/11/04 TIL, 2025-TIL
주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 2장 느려진 서비스, 어디부터 봐야 할까 Book 서비스가 느려졌을 때 가장 흔한 실수는 “일단 코드 최적화부터 시작하는 것”이다. 실무에서는 먼저 병목이 어느 계층에 있는지부터 구분해야 한다. 기본 분류 성능 문제는 대체로 네 군데에서 시작한다. 애플리케이션 CPU 사용량 증가 DB 지연 외부 시스템 응답 지연 네트워크 또는 인프라 계층 문제 같은 “응답 지연”이어도 원인은... 2025/11/03 Book, 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식