백엔드 커리큘럼 심화: 운영용 상태 머신 설계, status 컬럼을 사고 방지 장치로 바꾸기
주문, 결제, 업로드, 배치, 이벤트 소비처럼 상태가 있는 백엔드 흐름을 단순 status 컬럼이 아니라 전이표·불변식·감사 로그·재처리 기준으로 설계하는 방법을 정리합니다.
주문, 결제, 업로드, 배치, 이벤트 소비처럼 상태가 있는 백엔드 흐름을 단순 status 컬럼이 아니라 전이표·불변식·감사 로그·재처리 기준으로 설계하는 방법을 정리합니다.
중복 요청과 재처리를 막을 때 UPSERT, UNIQUE 제약, 멱등 키를 언제 어떻게 조합해야 하는지 쓰기 경로 기준으로 정리합니다.
Webhook 동기 호출이 Audit 이벤트를 마비시키는 Channel Blocking과, 죽은 커넥션이 풀에 반환되는 Connection Poisoning 버그를 분석하고 수정한다.
Go의 mutex와 channel을 조합해 PostgreSQL 프록시용 커넥션 풀을 설계·구현한다. acquire/release 흐름, timeout, 헬스체크, 운영 체크리스트까지 실전 관점으로 정리했다.
설정 파일 Hot Reload 시 concurrent map read/write로 프록시가 즉사하는 Critical 버그를 분석하고, sync.RWMutex로 수정한다.
ConcurrentHashMap 등 Java 동시성 컬렉션의 내부 구조와 사용 시나리오 가이드
ThreadPoolExecutor 파라미터 튜닝, 적정 스레드 수 공식, 모니터링 전략
Race condition부터 JMM, 스레드풀/락 선택, 디버깅까지: 백엔드에서 필요한 자바 동시성 기본기
프로세스/스레드 차이, 컨텍스트 스위칭, 스케줄링 알고리즘, 동기화 기본
서버가 여러 대일 때 synchronized는 무용지물입니다. Redis와 Redisson을 활용한 안전한 락 구현