본문 바로가기

전체 글125

[Spring Boot Kafka #7] Spring Boot Kafka 전체 흐름 정리 - Producer부터 Consumer까지 [Spring Boot Kafka #7] Spring Boot Kafka 전체 흐름 정리 - Producer부터 Consumer까지Spring Boot Kafka 시리즈의 마지막 글입니다.지금까지 Kafka를 직접 실행하면서 다음 개념을 하나씩 살펴봤습니다.ProducerConsumerTopicPartitionKeyConsumer GroupOffset처음 각각의 개념을 보면 서로 별개의 기능처럼 느껴질 수 있습니다.하지만 실제로는 모두 하나의 메시지 처리 흐름 안에서 연결되어 있습니다.이번 글에서는 지금까지 만든 프로젝트를 기준으로 Spring Boot에서 Kafka 메시지가 만들어지고 Consumer까지 전달되는 전체 과정을 정리해보겠습니다.1. 전체 프로젝트 구조이번 시리즈에서 사용한 구조는 다음과 .. 2026. 8. 31.
[Spring Boot Kafka #6] Consumer Group과 Offset 이해하기 - Kafka Consumer 여러 개 실행해보기 [Spring Boot Kafka #6] Consumer Group과 Offset 이해하기 - Kafka Consumer 여러 개 실행해보기Kafka에서 Producer와 Consumer를 구현했다면 다음으로 반드시 이해해야 할 것이 있습니다.바로 Consumer Group과 Offset입니다.특히 Kafka Consumer를 여러 개 실행했을 때같은 메시지를 Consumer들이 모두 받는 것일까? 아니면 메시지를 나눠서 처리하는 것일까?라는 부분이 처음에는 헷갈릴 수 있습니다.이번 글에서는 Consumer Group과 Partition의 관계를 중심으로 알아보겠습니다.1. Consumer Group이란?Kafka Consumer는 group.id라는 값을 가지고 있습니다.현재 프로젝트에서는 다음과 같이.. 2026. 8. 28.
[Spring Boot Kafka #5] Kafka Partition과 Key 이해하기 - 같은 Key는 왜 같은 Partition으로 갈까? [Spring Boot Kafka #5] Kafka Partition과 Key 이해하기 - 같은 Key는 왜 같은 Partition으로 갈까?Kafka를 공부하다 보면 반드시 등장하는 개념이 있습니다.바로 Partition과 Key입니다.처음 Kafka를 접했을 때 가장 이해하기 어려운 부분 중 하나가 다음 질문이었습니다.Topic이 있는데 왜 굳이 Partition으로 다시 나누는 걸까?그리고 또 하나입니다.Producer에서 Key를 넣으면 무엇이 달라지는 걸까?이번 글에서는 현재 만든 Spring Boot Kafka 프로젝트를 이용해 같은 Key를 가진 메시지가 어떤 Partition으로 전달되는지 직접 확인해보겠습니다.1. Kafka Topic과 PartitionKafka Topic은 실제로 하나.. 2026. 8. 27.
[Spring Boot Kafka #4] Kafka Consumer 구현하기 - @KafkaListener로 메시지 받기 [Spring Boot Kafka #4] Kafka Consumer 구현하기 - @KafkaListener로 메시지 받기이전 글에서는 KafkaTemplate을 이용해 Spring Boot에서 Kafka Producer를 구현했습니다.이번에는 Producer가 transaction-events Topic으로 보낸 메시지를 Consumer가 직접 받아보겠습니다.Spring Kafka에서는 @KafkaListener를 이용하면 비교적 간단하게 Kafka Consumer를 구현할 수 있습니다.이번 글의 전체 흐름은 다음과 같습니다.REST API ↓KafkaController ↓TransactionProducer ↓Kafka Topic ↓TransactionConsumer1. Kafka Cons.. 2026. 8. 24.