#Kafka
-
CDC와 Debezium으로 DB 변경 이벤트 수집하기
검색 색인, 분석 DB, 캐시가 원본 DB를 따라가려면 무엇이 바뀌었는지 빠짐없이 알아야 한다. 코드에 이벤트 발행을 끼워 넣으면 빠뜨리는 경로가 생기고, 테이블을 주기적으로 다시 읽으면 삭제를 놓친다. 이 글은 PostgreSQL WAL·MySQL binlog를 읽어 Kafka로 보내
-
OpenTelemetry Trace Context 전파와 분산 추적
분산 추적은 서비스마다 span을 남기는 것만으로 완성되지 않는다. 요청이 HTTP, Kafka, 스레드 풀을 건널 때마다 같은 traceid가 넘어가야 하고, 한 곳에서 빠지면 trace가 둘로 끊긴다. 이 글은 W3C Trace Context 형식, Propagator와 Baggag
-
Exactly-Once Processing은 정말 가능한가: 전달 보장과 처리 보장의 차이
메시지 브로커와 스트림 처리 엔진은 "exactlyonce"를 지원한다고 말하지만, 네트워크 너머로 메시지를 정확히 한 번만 전달하는 방법은 없다. 실무에서 말하는 exactlyonce는 전달을 최소 한 번 하되 결과가 한 번만 반영되게 만드는 것이고, 그 보장은 특정 시스템의 경계 안