Skip to content

Commit 80165a6

Browse files
committed
Update Kafka Post " [카프카 핵심 가이드] CHAPTER 1. 카프카 시작하기 "
1 parent 448ba7d commit 80165a6

File tree

2 files changed

+42
-4
lines changed

2 files changed

+42
-4
lines changed

_posts/2025-07-22-Kafka-Why-And-Concept.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -109,14 +109,18 @@ author: devFancy
109109

110110
* 브로커는 프로듀서로부터 메시지를 받아 저장하고, 컨슈머의 요청에 따라 메시지를 전달한다.
111111

112-
* 여러 브로커가 모여 하나의 **클러스터**구성한다.
112+
* 여러 브로커가 모여 하나의 **클러스터**구성하며, 클러스터 내의 브로커 중 하나는 **컨트롤러(Controller) 역할** 을 맡아 다른 브로커들을 관리한다.
113113

114-
* 클러스터 내의 브로커 중 하나는 **컨트롤러(Controller) 역할** 을 맡아 다른 브로커들을 관리한다.
115-
116-
* 아래 그림은 각 파티션이 하나의 리더(Leader) 브로커와 하나 이상의 팔로워(Follower) 브로커로 복제되어, 리더 브로커에 장애 발생 시 데이터 유실 없이 서비스를 지속하는 모습을 보여준다.
114+
* 아래 그림은 카프카의 고가용성과 내구성을 보장하는 핵심 기능인 **복제(Replication) 동작 방식**을 보여준다.
117115

118116
![](/assets/img/kafka/Kafka-Why-and-Concept-6.png)
119117

118+
* 각 파티션은 여러 브로커에 복제본을 가질 수 있는데, 이 중 단 하나만 `리더`(Leader) 역할을 하고 나머지는 `팔로워`(Follower) 가 된다. **모든 데이터의 읽고 쓰는 작업은 `리더`를 통해서만** 처리되는 것이 원칙이다.
119+
120+
* 그림에서 '토픽 A, 파티션 0'의 리더는 '브로커 1'이다. 프로듀서가 보낸 메시지는 먼저 리더인 '브로커 1'에 기록된 후, 'A/0 복제' 흐름을 따라 '브로커 2'에 있는 팔로워에게 복사된다. 반대로 '토픽 A, 파티션 1'의 리더는 '브로커 2'이며, 같은 방식으로 '브로커 1'의 팔로워에게 메시지가 복제된다.
121+
122+
* 이러한 구조 덕분에 리더 역할을 하던 브로커(예: 브로커 1)에 장애가 발생하더라도, 다른 브로커에 있던 팔로워(브로커 2의 파티션 0)가 즉시 새로운 리더로 승격된다. 이를 통해 카프카는 **데이터 유실 없이 중단 없는 서비스**를 이어갈 수 있다.
123+
120124
### 오프셋 (Offset)
121125

122126
* 파티션에 저장된 각 메시지의 **고유한 순번**을 나타내는 정수 값이다.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
layout: post
3+
title: " [카프카 핵심 가이드] CHAPTER 4. 카프카 컨슈머: 카프카에 데이터 읽기 "
4+
categories: Kafka
5+
author: devFancy
6+
---
7+
* content
8+
{:toc}
9+
10+
> 이 글은 [카프카 핵심 가이드](https://product.kyobobook.co.kr/detail/S000201464167?utm_source=google&utm_medium=cpc&utm_campaign=googleSearch&gad_source=1) 책을 읽고 정리한 글입니다.
11+
>
12+
> 이 글에서 다루는 모든 코드는 [깃허브](https://github.com/devFancy/springboot-coupon-system)에서 확인하실 수 있습니다.
13+
>
14+
> `참고`: 본 글에서 소개되는 코드 예시는 현재 시점의 구현을 바탕으로 작성되었으며, 프로젝트가 발전함에 따라 내용이 변경되거나 개선될 수 있음을 미리 알려드립니다.
15+
16+
## Prologue
17+
18+
"카프카 핵심 가이드" 책을 현재 두 번째 읽고 있지만, 생각보다 책의 난이도가 있고, 이해하기 어려운 점이 있어서 책에 있는 내용 중에 중요한 내용 위주로 정리하기 위해 + 간단한 실습 정리를 위해 이 글을 작성하게 되었다.
19+
20+
이 글은 책의 내용을 기반으로 하되, 앞으로 컨슈머와 관련하여 실무에서 중요하다고 생각되는 개념이 있다면 지속적으로 내용을 보완하고 업데이트할 예정이다.
21+
22+
자세한 내용은 책의 4장을 참고하자.
23+
24+
25+
## 카프카 컨슈머(Consumer)란
26+
27+
28+
29+
30+
## References
31+
32+
* [카프카 핵심 가이드](https://product.kyobobook.co.kr/detail/S000201464167?utm_source=google&utm_medium=cpc&utm_campaign=googleSearch&gad_source=1)
33+
34+
* [[공식문서] Kafka 3.4 Consumer Configs](https://kafka.apache.org/documentation/#consumerconfigs)

0 commit comments

Comments
 (0)