<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>How-To Guide on Advanced Beginner</title><link>https://advanced-beginner.github.io/ko/docs/kafka/howto/</link><description>Recent content in How-To Guide on Advanced Beginner</description><generator>Hugo</generator><language>ko-KR</language><managingEditor>d8lzz1gpw@mozmail.com (kimbenji)</managingEditor><webMaster>d8lzz1gpw@mozmail.com (kimbenji)</webMaster><lastBuildDate>Mon, 23 Mar 2026 19:08:15 +0900</lastBuildDate><atom:link href="https://advanced-beginner.github.io/ko/docs/kafka/howto/index.xml" rel="self" type="application/rss+xml"/><item><title>Consumer Lag 진단 및 해결</title><link>https://advanced-beginner.github.io/ko/docs/kafka/howto/consumer-lag-troubleshooting/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/kafka/howto/consumer-lag-troubleshooting/</guid><description>&lt;p&gt;Consumer Lag가 발생했을 때 원인을 진단하고 해결하는 방법을 단계별로 안내합니다.&lt;/p&gt;
&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Consumer Lag&lt;/strong&gt;: Consumer가 읽지 못한 메시지 수 (Producer 속도 &amp;gt; Consumer 처리 속도)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;진단&lt;/strong&gt;: &lt;code&gt;kafka-consumer-groups.sh&lt;/code&gt;로 Lag 확인, 모니터링 도구로 추이 분석&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;해결&lt;/strong&gt;: Consumer 수 증가, 처리 로직 최적화, Partition 수 조정, 배치 설정 튜닝&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="consumer-lag란"&gt;Consumer Lag란?&lt;a class="anchor" href="#consumer-lag%eb%9e%80"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Consumer Lag는 Producer가 발행한 메시지 중 Consumer가 아직 읽지 못한 메시지의 수입니다. Lag가 지속적으로 증가하면 메시지 처리 지연이 발생하고, 최악의 경우 메시지가 보관 기간을 초과하여 삭제될 수 있습니다.&lt;/p&gt;</description></item><item><title>Producer 성능 최적화</title><link>https://advanced-beginner.github.io/ko/docs/kafka/howto/producer-performance-tuning/</link><pubDate>Sat, 10 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/kafka/howto/producer-performance-tuning/</guid><description>&lt;p&gt;Producer의 처리량을 높이고 지연 시간을 줄이는 방법을 단계별로 안내합니다.&lt;/p&gt;
&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;처리량 우선&lt;/strong&gt;: &lt;code&gt;batch.size&lt;/code&gt; 증가, &lt;code&gt;linger.ms&lt;/code&gt; 설정, 압축 활성화&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;지연 우선&lt;/strong&gt;: &lt;code&gt;linger.ms=0&lt;/code&gt;, &lt;code&gt;acks=1&lt;/code&gt;, 작은 배치 크기&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;안정성 우선&lt;/strong&gt;: &lt;code&gt;acks=all&lt;/code&gt;, &lt;code&gt;enable.idempotence=true&lt;/code&gt;, 재시도 설정&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;트레이드오프&lt;/strong&gt;: 처리량 ↔ 지연 시간 ↔ 안정성은 상충 관계&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;h2 id="성능-최적화의-세-가지-축"&gt;성능 최적화의 세 가지 축&lt;a class="anchor" href="#%ec%84%b1%eb%8a%a5-%ec%b5%9c%ec%a0%81%ed%99%94%ec%9d%98-%ec%84%b8-%ea%b0%80%ec%a7%80-%ec%b6%95"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Producer 성능 최적화는 세 가지 요소의 균형을 맞추는 작업입니다:&lt;/p&gt;
&lt;pre class="mermaid"&gt;flowchart TB
 T[처리량&amp;lt;br&amp;gt;Throughput] &amp;lt;--&amp;gt; L[지연 시간&amp;lt;br&amp;gt;Latency]
 L &amp;lt;--&amp;gt; D[안정성&amp;lt;br&amp;gt;Durability]
 D &amp;lt;--&amp;gt; T&lt;/pre&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;요소&lt;/th&gt;
 &lt;th&gt;설명&lt;/th&gt;
 &lt;th&gt;최적화 방향&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;처리량&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;초당 전송 메시지 수&lt;/td&gt;
 &lt;td&gt;배치 크기 증가, 압축 활성화&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;지연 시간&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;메시지 전송~확인까지 시간&lt;/td&gt;
 &lt;td&gt;배치 대기 시간 감소&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;안정성&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;메시지 유실 방지&lt;/td&gt;
 &lt;td&gt;acks=all, 복제 대기&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="1단계-현재-성능-측정하기"&gt;1단계: 현재 성능 측정하기&lt;a class="anchor" href="#1%eb%8b%a8%ea%b3%84-%ed%98%84%ec%9e%ac-%ec%84%b1%eb%8a%a5-%ec%b8%a1%ec%a0%95%ed%95%98%ea%b8%b0"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;최적화 전에 현재 성능을 측정하세요. 기준선 없이는 개선 효과를 알 수 없습니다.&lt;/p&gt;</description></item><item><title>메시지 손실 방지 가이드</title><link>https://advanced-beginner.github.io/ko/docs/kafka/howto/message-loss-prevention/</link><pubDate>Fri, 16 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/kafka/howto/message-loss-prevention/</guid><description>&lt;p&gt;Kafka에서 메시지 손실을 방지하고 안정적인 메시징을 보장하는 방법을 단계별로 안내합니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;소요 시간&lt;/strong&gt;: 약 30분 (설정 적용 기준)&lt;/p&gt;
&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Producer 측&lt;/strong&gt;: &lt;code&gt;acks=all&lt;/code&gt;, &lt;code&gt;enable.idempotence=true&lt;/code&gt;, 적절한 재시도 설정&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Broker 측&lt;/strong&gt;: &lt;code&gt;min.insync.replicas=2&lt;/code&gt;, &lt;code&gt;unclean.leader.election.enable=false&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consumer 측&lt;/strong&gt;: 수동 커밋, 처리 후 커밋, 재시도 메커니즘 구현&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;End-to-End&lt;/strong&gt;: 메시지 추적 ID 활용, 모니터링 및 알림 설정&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;hr&gt;
&lt;h2 id="시작하기-전에"&gt;시작하기 전에&lt;a class="anchor" href="#%ec%8b%9c%ec%9e%91%ed%95%98%ea%b8%b0-%ec%a0%84%ec%97%90"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;이 가이드를 따라하기 위해 다음 환경이 필요합니다.&lt;/p&gt;
&lt;h3 id="필수-요구사항"&gt;필수 요구사항&lt;a class="anchor" href="#%ed%95%84%ec%88%98-%ec%9a%94%ea%b5%ac%ec%82%ac%ed%95%ad"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;항목&lt;/th&gt;
 &lt;th&gt;최소 버전&lt;/th&gt;
 &lt;th&gt;확인 명령어&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Apache Kafka&lt;/td&gt;
 &lt;td&gt;2.8+&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;kafka-topics.sh --version&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Java&lt;/td&gt;
 &lt;td&gt;17+&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;java -version&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Spring Boot&lt;/td&gt;
 &lt;td&gt;3.0+&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;./gradlew dependencies | grep spring-boot&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Spring Kafka&lt;/td&gt;
 &lt;td&gt;3.0+&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;./gradlew dependencies | grep spring-kafka&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="환경-확인"&gt;환경 확인&lt;a class="anchor" href="#%ed%99%98%ea%b2%bd-%ed%99%95%ec%9d%b8"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Kafka 클러스터에 접근 가능한지 확인하세요:&lt;/p&gt;</description></item><item><title>토픽 설계 및 파티션 결정 가이드</title><link>https://advanced-beginner.github.io/ko/docs/kafka/howto/topic-design/</link><pubDate>Fri, 16 Jan 2026 00:00:00 +0000</pubDate><author>d8lzz1gpw@mozmail.com (kimbenji)</author><guid>https://advanced-beginner.github.io/ko/docs/kafka/howto/topic-design/</guid><description>&lt;p&gt;새로운 Kafka 토픽을 생성할 때 적절한 파티션 수, 복제 팩터, 보관 정책을 결정하는 방법을 안내합니다.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;소요 시간&lt;/strong&gt;: 약 15분&lt;/p&gt;
&lt;blockquote class="book-hint info"&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;&lt;br&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;파티션 수&lt;/strong&gt;: 예상 처리량 / Consumer당 처리량, 최소 6개 권장&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;복제 팩터&lt;/strong&gt;: 프로덕션은 3, 개발은 1&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;보관 기간&lt;/strong&gt;: 비즈니스 요구사항 + 재처리 여유 시간&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;네이밍&lt;/strong&gt;: &lt;code&gt;{domain}.{entity}.{event-type}&lt;/code&gt; 패턴 사용&lt;/li&gt;
&lt;/ul&gt;

&lt;/blockquote&gt;

&lt;hr&gt;
&lt;h2 id="시작하기-전에"&gt;시작하기 전에&lt;a class="anchor" href="#%ec%8b%9c%ec%9e%91%ed%95%98%ea%b8%b0-%ec%a0%84%ec%97%90"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id="필수-요구사항"&gt;필수 요구사항&lt;a class="anchor" href="#%ed%95%84%ec%88%98-%ec%9a%94%ea%b5%ac%ec%82%ac%ed%95%ad"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;항목&lt;/th&gt;
 &lt;th&gt;요구사항&lt;/th&gt;
 &lt;th&gt;확인 명령어&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Kafka CLI&lt;/td&gt;
 &lt;td&gt;설치 및 PATH 등록&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;kafka-topics.sh --version&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Broker 접근&lt;/td&gt;
 &lt;td&gt;관리자 권한&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;kafka-acls.sh --list&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;클러스터 정보&lt;/td&gt;
 &lt;td&gt;Broker 수 파악&lt;/td&gt;
 &lt;td&gt;&lt;code&gt;kafka-broker-api-versions.sh&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="환경-확인"&gt;환경 확인&lt;a class="anchor" href="#%ed%99%98%ea%b2%bd-%ed%99%95%ec%9d%b8"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;토픽 생성 권한과 클러스터 상태를 확인하세요:&lt;/p&gt;</description></item></channel></rss>