728x90
반응형
SMALL

outbox 2

Kafka, Elasticsearch, Redis 으로 대용량 주문 처리하기

이전 게시글인 Kafka Outbox 패턴으로 비동기 이벤트 발행하기 에서는데이터를 Outbox 테이블에 적재하고, 이를 기반으로 Kafka 이벤트를 안전하게 발행하는 구조를 정리해봤습니다. 이번에는 그 다음 단계로,Kafka로 발행된 이벤트를 어떻게 소비하면 좋을지,그리고 대용량 주문 환경에서도 안정적으로 조회하려면 어떤 구조가 좋을지를 정리해보려고 합니다. 이번 글에서는Elasticsearch, Redis, 그리고 Idempotency Lock을 활용해서주문 처리 흐름을 한 단계 더 확장해봤습니다!.전체 흐름 먼저 살펴보기이번에 정리해본 전체 데이터 흐름은 아래와 같습니다. PostgreSQL → Outbox Table → Kafka (order.created) → Kafka Consume..

Kafka Outbox 패턴으로 비동기 이벤트 발행하기

비동기 처리 방식을 공부하면서 Kafka 통신 흐름을 로그를 통해 확인하면서동작 원리를 파악하는 과정에서 깨달음을 얻어 게시글을 작성합니다!Kafka 를 처음 사용하면서 저는 Kafka 로 이벤트를 발행할 때 이게 언제, 어디서, 어떤 흐름으로 실행되는건지 헷갈렸습니다.특히 Outbox 패턴을 적용하면 Kafka 발행 로직이 Controller 와 분리되기 때문에요청이 끝났음에도 Kafka 가 동작하는 것을 알 수 있는데요 이를 기반으로 아래 내용들을 정리해보겠습니다!HTTP 요청 처리 흐름Filter / Interceptor / Service의 역할Kafka Outbox 발행이 Controller와 분리되는 이유로그로 Kafka 통신을 확인하는 방법실무에서는 Outbox를 어떻게 활용하는지 1. 전체 ..

728x90
반응형
LIST