JSCODE Logo
JSCODE 박재성JSCODE 제이온JSCODE 시니
과외유튜브블로그후기
완강 후기 이벤트블로그 리뷰 이벤트AWS SAA 합격 후기 이벤트
회사명 : JSCODE대표 : 박재성사업자 등록번호 : 244-22-01557통신판매업 : 제 2023-인천미추홀-0381 호

서울특별시 구로구 경인로 20가길 11(오류동, 아델리아)

Copyright ⓒ 2026 JSCODE - 최상위 현업 개발자들의 프로그래밍 교육 All rights reserved.

이용약관개인정보처리방침

실전에서 바로 써먹는 Kafka 입문

Kafka 사전 지식 / 환경 셋팅

Kafka를 왜 배워야할까?
Kafka란? / 메시지 큐(Message Queue)란?
Kafka 설치할 환경 셋팅하기 (feat. EC2)
AWS EC2에 Kafka 설치/실행하기

Kafka 기본 개념

Kafka의 기본 구성 (Topic, Consumer, Producer)
토픽 생성하기 / 조회하기 / 삭제하기
Kafka에 메시지 넣기 / Kafka에서 메시지 조회하기
메시지를 어디까지 읽었는 지 기억하고, 그 다음 메시지부터 처리하기 (Consumer Group, Offset)
[보충 자료] 토픽, 컨슈머 그룹 이름 짓는 법 (Naming Convention)
[실습] Spring Boot에 Kafka 연결을 위한 코드 추가하기
[실습] Spring Boot로 Kafka에 메시지 넣는 코드 작성하기 (Producer)
[실습] Spring Boot가 Kafka에 메시지 잘 넣는 지 테스트해보기
[실습] Spring Boot로 Kafka에서 메시지 조회하기 (Consumer)
Kafka의 비동기 처리로 인한 성능 이점 느껴보기

Kafka 메시지 처리 실패 시 대처 방법

[실습] Spring Boot로 Kafka에서 처리에 실패한 메시지를 재시도(Retry)하도록 만들기
[실습] Spring Boot로 Kafka에서 재시도조차 실패한 메시지를 따로 보관하기 (DLT, Dead Letter Topic)
[실습] Spring Boot로 재시도조차 실패한 메시지 사후 처리하기

Kafka 메시지 처리 성능 높이기 (병렬 처리)

컨슈머가 메시지를 하나씩만 처리하는 현상
파티션(Partition)이란? / 특징
[실습] Spring Boot로 하나의 파티션에는 정말 하나의 컨슈머만 할당되는 지 확인해보기
특정 토픽의 파티션 수 조회하기 / 설정하기 / 변경하기
[실습] Spring Boot로 여러 개의 파티션에 메시지가 골고루 들어가는 지 확인해보기
[실습] Spring Boot에서 여러 개의 컨슈머로 메시지 병렬적으로 처리하기
[실습] Spring Boot에서 하나의 컨슈머로 메시지 병렬적으로 처리하기
적정 파티션 개수 계산하는 방법
컨슈머가 메시지를 지연 없이 잘 처리하고 있는 지 확인하는 방법 (Consumer Lag)

Kafka 장애 대비하기 (고가용성)

노드(node), 브로커(broker), 컨트롤러(controller), 클러스터(cluster), 레플리케이션(replication)이란?
[실습] kafka 서버 총 3대 셋팅하기
[실습] Kafka 서버 3대가 서로 잘 연동됐는 지 확인하기
토픽 세부 정보 출력값 정보 해석하기 (Isr, Leader, Replicas 등)
[실습] 팔로워 파티션에 메시지를 넣으면 어떻게 될까?
[실습] 리더 파티션에 장애가 발생하면 어떻게 될까? / Kafka 서버 1대가 고장나면 어떻게 될까?
Kafka 서버는 몇 대를 운용하는 게 좋을까?
Spring Boot에 Kafka 서버 3대를 연결해서 사용하는 방법

[프로젝트] MSA 프로젝트에서 Kafka 도입하기

프로젝트 설계
[실습] Spring Boot로 UserService 서버 초기 환경 설정하기
[실습] 회원가입 API 전체 뼈대 만들기
[실습] 회원 가입 비즈니스 로직 짜기
[실습] Spring Boot로 EmailService 서버 초기 환경 설정하기
[실습] 이메일 발송을 처리할 Consumer 로직 짜기
[실습] 프로젝트 구조에 맞게 Kafka 셋팅하기
[실습] 잘 작동하는 지 테스트해보기
← 블로그 목록으로 돌아가기

Kafka를 왜 배워야할까?

JSCODE 박재성
JSCODE 박재성
2026. 03. 13.
author
JSCODE 박재성
category
Kafka
createdAt
Dec 6, 2025 05:14 AM
isPublic
isPublic
series
실전에서 바로 써먹는 Kafka 입문
slug
why-learn-kafka
type
post
updatedAt
Mar 13, 2026 09:00

✅ Kafka를 왜 배워야할까?

최근에 Kafka를 배우려는 취준생 개발자분들이나 현업 개발자분들이 시간이 갈수록 점점 많아지고 있다. 이 분들이 Kafka를 배우려는 이유는 다음과 같다.
 
  1. SI/SM 회사가 아닌 서비스 기업에 취업/이직을 하기 위해서
  1. Kafka를 사용하는 회사 업무에 빠르게 적응하기 위해서 (Kafka를 사용하는 회사에 이미 다니고 있는 경우)
  1. 회사에 Kafka라는 기술을 도입하기 위해서 (스타트업에서 도입할 기술을 선택할 수 있는 테크 리더인 경우)
 
그 중에서 1번의 이유에 대해 조금 더 꼼꼼하게 따져보자.
 
 

✅ Kafka가 정말 취업/이직하는 데 큰 도움이 될까?

Kafka가 정말 취업/이직하는 데 도움이 되는 지 확인하는 방법은 채용 공고를 살펴보는 것이다. 서비스 기업의 백엔드 개발자 채용 공고를 살펴보면 생각보다 많은 회사에서, Kafka에 대한 경험을 우대해주고 있다는 걸 알 수 있다.
notion image
notion image
notion image
 
서비스 기업의 채용 공고에는 왜 이렇게 Kafka에 대한 언급이 많은걸까?
 
최근에는 MSA를 도입하는 회사가 점점 많이 늘어나고 있는 추세다. 그런데 MSA의 방식으로 서비스를 운용할 때, Kafka가 가진 독보적인 여러가지 장점들 때문에 MSA에서 Kafka를 같이 도입해서 활용하는 추세다.
 
이러한 이유 때문에 어느 정도 규모가 있는 IT 서비스 회사에서는 MSA 방식을 도입하고 있으며, 그에 따라 Kafka도 같이 활용하고 있다. 회사에서 Kafka라는 기술을 활용하고 있기 때문에 관련 업무에 참여하려면 Kafka 역량을 갖추고 있어야만 한다. 그래서 수많은 IT 회사의 채용 공고의 자격 요건과 우대 사항에 Kafka에 대한 역량을 기재해놓는 것이다.
 
따라서 취업/이직을 조금 더 수월하게 하고 싶고, 채용 시장에서 차별성을 가지고 싶다면 Kafka를 학습해두는 걸 추천한다. (취업이 잘 안 되는 시기임에도 불구하고 이 강의를 수강하시는 분들만큼은, 채용 시장에서 살아남기를 진심으로 바란다.)
 
📎
이 글은 실전에서 바로 써먹는 Kafka 입문 강의의 수업 자료 중 일부입니다.