Data Concurrency Optimization with Kafka – Request-Reply Pattern
Kafka 기반 대규모 데이터 동시성 최적화: Request-Reply 패턴 활용 사례
🛠 Kafka와 Request-Reply로 푼 대규모 동시성 이슈 해결기
🚨 장애 상황: 수십만 건의 실시간 데이터 변경
🔄 순서가 중요한 이유
🔐 분산 락? 해결되지 않았다
📦 Kafka의 특성 활용
📬 Request-Reply 패턴 도입
ReplyingKafkaTemplate(Requester) 요소
Kafka Broker(Request Channel / Reply Channel) 요소
Consumer Group(Replier) 요소
항목
KafkaTemplate
ReplyingKafkaTemplate
🧠 Correlation ID로 요청-응답 매핑
🧪 단일 토픽 운영 전략
RequestDispatcher 클래스 작성
🧵 Reply 메시지 처리 전략: sharedReplyTopic
응답 메시지 발행 정리
Spring Kafka의 @SendTo 활용
@SendTo 활용위 구조 : 아래의 파란색 눈금에 관련된 응답 메시지 발행
⚖️ 분산 락 vs Kafka Request-Reply 비교
항목
분산 락
Kafka + Request-Reply
🏁 기존 구조 vs 개선 구조
🏁 기존 구조 vs 개선 구조
🧱 기존 구조
🚀 개선 구조 (Kafka 기반)
✨ 실무 인사이트 요약
✅ 마무리하며
느낀점: 확장성과 안정성은 얻었지만, 과연 최선이었을까?
모든 컨슈머 그룹이 리플라이 토픽을 계속 pull한다는 점
더 나은 구조는 없을까?
Last updated



