Skip to content

Commit 7741d76

Browse files
committed
Update Kafka Posts " 3. 카프카 프로듀서, 4. 카프카 컨슈머 "
1 parent 14b025a commit 7741d76

2 files changed

Lines changed: 6 additions & 4 deletions

File tree

_posts/2025-07-24-Kafka-Producer.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -258,11 +258,13 @@ public class CouponIssueProducer {
258258

259259
* 선착순 쿠폰 시스템에서는 **요청이 들어온 순서대로 처리**되는 것이 매우 중요하다.
260260

261-
* 만약 프로듀서가 메시지를 비동기적으로 보낸다면 네트워크 상황에 따라 나중에 보낸 메시지가 먼저 도착할 수 있
261+
* 이러한 엄격한 순서 보장은 보통 Kafka 앞단에 있는 Redis의 원자적(Atomic) 연산을 통해 결정된다.
262262

263-
* `.join()`을 통해 각 요청 스레드가 Kafka로부터 **전송 완료 응답을 받을 때까지 대기**하게 함으로써,
263+
* 프로듀서의 .join()은 이 선착순을 직접 보장하기보다는, **단일 서버 내**에서 요청 처리 흐름을 순차적으로 만들어 **'응답 신뢰도'를 높이는 역할**을 보조한다.
264264

265-
* API 서버에 도달한 순서대로 Kafka에 메시지가 기록되는 것을 최대한 보장할 수 있다.
265+
* 만약 프로듀서가 메시지를 비동기적으로 보낸다면 네트워크 상황에 따라 나중에 보낸 메시지가 먼저 도착할 수 있다.
266+
267+
* 만약 여러 서버가 운영되는 **분산 환경에서는 `.join()`만으로는 서버 간의 처리 순서까지 보장할 수 없으므로, 선착순 로직은 반드시 Redis와 같은 외부 시스템에 위임**해야 한다.
266268

267269
이렇게 프로듀서가 메시지를 Kafka에 안전하게 전달하고 나면, 그 책임은 이제 컨슈머(Consumer)에게로 넘어간다.
268270

_posts/2025-07-26-Kafka-Consumer.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ author: devFancy
3232

3333
* 하나의 토픽을 하나의 컨슈머 그룹이 구독할 때, 그룹 내 컨슈머들은 파티션을 나눠서 데이터를 가져간다.
3434

35-
여기서 중요한 점(핵심 규칙) 그룹 내에서 하나의 파티션은 오직 하나의 컨슈머만 점유할 수 있다는 점이다.
35+
여기서 중요한 점은 **그룹 내에서 하나의 파티션은 오직 하나의 컨슈머만 점유할 수 있다** 점이다.
3636

3737

3838
## 컨슈머 처리 속도를 높이는 방법

0 commit comments

Comments
 (0)