강의

멘토링

로드맵

BEST
개발 · 프로그래밍

/

백엔드

가장 쉽고 깊게 알려주는 Kafka 완벽 가이드 [ By. 비전공자 & Kakao 개발자 ]

Spring Boot 3.x + Kotlin으로 Kafka 클러스터를 구축하고, PostgreSQL CDC와 Debezium Connect, Apache Avro 스키마를 활용하여 실시간 이벤트 스트리밍이 가능한 확장 가능한 주문 처리 시스템을 개발합니다.

(4.9) 수강평 18개

수강생 379명

  • Hong
실습 중심
백엔드이해하기
백엔드
아키텍처
스프링
JavaSpringKotlinSpring BootKafka

먼저 경험한 수강생들의 후기

이런 걸 배울 수 있어요

  • Apache Kafka Producer/Consumer를 활용하여 대용량 이벤트 발행 및 소비하는 비동기 메시징 시스템

  • Kafka Streams를 활용하여 실시간 데이터 필터링, 윈도우 집계, 상태 저장소 관리하는 스트림 처리 시스템

  • Debezium CDC를 활용하여 PostgreSQL 데이터베이스 변경사항을 실시간으로 캡처하는 변경 데이터 캡처 시스템

  • Apache Avro Schema를 활용하여 타입 안전한 메시지 직렬화 및 스키마 진화를 지원하는 데이터 교환 시스템

  • Docker Compose를 활용하여 Kafka 클러스터, Zookeeper, PostgreSQL, Debezium Connect를 통합 관리하는 컨테이너 인프라

  • Event-Driven Architecture를 활용하여 실시간 사기 탐지, 고액 주문 필터링, 매출 통계 집계하는 이벤트 기반 비즈니스 로직

MSQ를 활용한 이벤트 기반의 아키텍처는 어떻게 사용할까?? 🤔

혹시 '메시지 큐(Message Queue)를 활용한 이벤트 기반 아키텍처(Event-Driven Architecture)'에 대해 들어보셨나요? 🤔


현대적인 백엔드 시스템의 핵심으로 자리 잡았지만, 막상 실무에 적용하려고 하면 막막하게 느껴질 수 있습니다. 수많은 데이터를 안정적으로 처리하고, 여러 서비스들을 유연하게 연결하며, 시스템 전체의 확장성을 높이는 방법! 바로 Kafka와 Kotlin을 통해 그 해답을 찾을 수 있습니다.

이 강의는 이론만 나열하는 지루한 강의나 아니라, 실제 구현하고 동작하는 과정을 함께 살펴보면서 Kafka의 핵심 기능을 완벽하게 정복하는 실전형 가이드로써 준비해 보았습니다. 🚀

이 강의의 특징

📌Java, Spring, Spring Boot, Kafka, Kotlin으로 구성이 되어 있어요.

* Java가 아닌 최신 언어 Kotlin을 사용하여 더 간결하고 안정적인 코드를 작성하는 방법을 배웁니다.

* 가장 인기있는 백엔드 프레임워크인 Spring Boot에 Kafka를 완벽하게 통합하는 노하우를 익힙니다.

📌 Docker Compose를 이용한 원클릭 실습 환경 구축하고 있어요.

* Kafka, Zookeeper, Schema R egistry, Kafka Connect 등 복잡한 데이터 플랫폼 구성요소를 명령어 하나로 손쉽게 구축합니다.

* 개발 환경 구성에 드는 시간을 아끼고, 핵심 로직 개발에만 집중할 수 있습니다.

📌 단순한 메시징을 넘어, 실무적인 데이터 파이프라인 설계

* 단순히 메시지를 보내고 받는 것을 넘어, Avro와 Schema Registry를 활용하여 데이터 스키마를 관리하고 안정적으로 데이터를 전송하는 방법을 다룹니다.

* 데이터 구조가 변경되더라도 시스템 전체가 안정적으로 운영될 수 있는 비결을 배웁니다.

📌 Kafka Streams API를 활용한 실시간 데이터 처리 및 분석

* Kafka Streams를 사용하여 별도의 클러스터 없이 실시간으로 데이터를 변환하고 집계하는 방법을 학습합니다.

* 실시간 매출 통계, 사용자 활동 분석 등 실용적인 예제를 통해 상태 저장(Stateful) 스트림 처리 기법을 익힙니다.

📌 Debezium을 이용한 CDC (Change Data Capture) 패턴 구현

* 데이터베이스의 변경을 실시간으로 감지하여 Kafka 토픽으로 스트리밍하는 CDC 패턴을 Debezium으로 구현합니다.

* 데이터베이스와 Kafka를 연동하여 이벤트 기반 아키텍처를 구축하는 핵심 기술을 마스터합니다.

이런 분들께 추천해요

백엔드 개발자

그냥 API만 작성하고 Database만 다를 줄 알아요

아키텍처 솔루션 엔지니어

프로젝트 구조와 확장성 있는 아키텍처를 구성해야해요

취업 준비생

확장성 있는 아키텍처와 구조가 궁금해요

강의에서는 이런 내용을 다루고 있어요. 🤔

  1. Producer & Consumer [ Kafka 데이터 발행과 구독 ]

  2. Topic & Partition [ 데이터 분산 저장과 병렬 처리 ]

  3. Avro & Schema Registry [ 안정적인 데이터 스키마 관리와 직렬화 ]

  4. Kafka Connect & Debezium [ DB 변경 데이터 실시간 캡처 (CDC) ]

  5. Kafka Streams API [ 실시간 데이터 스트림 처리 및 분석 ]

  6. Stateful Stream Processing [ 상태를 이용한 데이터 집계 ]

  7. Interactive Queries [ 처리 중인 실시간 데이터 조회 API ]

  8. Consumer Group & Rebalancing [ Consumer 확장과 장애 대응 ]

  9. Event-Driven Architecture [ 이벤트 기반 시스템 설계 ]

  10. 다양한 예제 다이어그램 [ 36개 가량의 다이어그램이 포함 ]


Kafka를 왜 배워야 하지??

단순합니다! 이미 다양한 기업에서 Kafka를 활용하여 이벤트 기반의 아키텍처를 도입하고 있고, 이로인해 느슨한 결합을 구현하고 있습니다.

이 강의를 만든 사람

  • 비전공자로 시작하였고, 현재는 판교에서 플랫폼 백엔드 개발자로 근무하고 있는 개발자

  • 현실적인 개발 방식과 개발론을 알려드리는 것이 목표이고, 혼자가 아닌 주변 능력있는 지인들과 함께 강의를 만드는 지식 공유자

  • 열심히 활동한 덕분에 인프런에서 인터뷰 진행해 본 지식 공유자

이 강의에 참여한 사람

  • 인서울 대학에서 컴퓨터 공학을 전공한 전공자

  • 제 1금융권을 거쳐 현재는 카카오에서 백엔드 및 데이터 엔지니어로 개발하고 있는 개발자

  • Hong과 함께 다양한 강의를 만들고 현실적인 지식과 환경을 제공하는데 이바지하고 있는 개발자

수강 전 참고 사항

선수 지식 및 유의사항

  • java

    • java 17.0.12 2024-07-16 LTS

  • IDE

    • intelliJ

  • Docker

    • Docker version 28.0.0, build f9ced58158


같이보면 학습 효과가 10배가 되는 강의

5천억건이 넘는 금융 데이터를 처리하는 토스 개발자에게 배우는 MySQL [ By. 비전공자 & Toss 개발자 ]

  • Kafka를 사용할 떄 반드시 들어가는 Database를 어떻게 효율적으로 활용 할 수 있는지 전반적으로 모두 알려주며, Kafka를 결합하는 아키텍처를 통해 여러분들의 지식을 더 열어드립니다!

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 주니어→미드레벨 성장을 원하는 백엔드 개발자

  • 실시간 서비스 개발 경험을 쌓고 싶은 개발자

  • 시니어 개발자로 성장하고 싶은 미드레벨 개발자

  • 포트폴리오를 강화하고 싶은 취업 준비생

  • 기술 스택 확장을 통한 이직을 계획중인 개발자

선수 지식,
필요할까요?

  • Spring에 대한 기본적인 지식이 있으면 좋습니다.

안녕하세요
입니다.

2,905

수강생

203

수강평

79

답변

4.5

강의 평점

14

강의

자기 소개

집에서 빈둥대다 개발에 흥미를 느껴 개발 공부를 시작하였고 현재는 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.

 

제가 공부를 했던 방법과 실무에서 접하실 수 있는 여러가지 문제점들과 해결책을 여러분들에게 제공하고 싶어 지식공유자 활동을 이어나가고 있습니다.

 

강의는 오로지 저만의 지식을 통해 만들어지지 않습니다. 모든 강의는 함께하시는 분들이 계십니다.

 

지식공유자 경력

[前] 샌드박스 블록체인 개발자

[前] 넥슨 자회사 백엔드 개발자

[] 판교에서 고여가는 서버 개발자

 

인터뷰 이력

커리큘럼

전체

27개 ∙ (5시간 5분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

전체

18개

4.9

18개의 수강평

  • ddddve님의 프로필 이미지
    ddddve

    수강평 6

    평균 평점 5.0

    5

    33% 수강 후 작성

    I'm filming a lecture and have quite a significant stake in?? I'm a developer working at Kakao!! I also use Kafka a lot in practice!! If it actually reaches production level, it becomes quite complex and realistically there are some parts that this lecture alone cannot cover 😭😭 However, as I mentioned in the course introduction video, I would appreciate it if you could understand that I filmed this based on what information would be good to deliver to junior developers and new developers!! So I focused on filming study direction and a general introduction to Kafka along with hands-on implementation. - For example, in practice, there are parts like offset commit conditions and event consumption failure prevention patterns like DLQ!! Still, I've structured the lecture to be as helpful as possible, so I hope you can learn about Kafka through this course in the easiest, deepest, and fastest way. Please show a lot of interest! Thank you!!

    • jhong
      지식공유자

      Thank you so much for helping me like this again!! You must be so busy 😭😭 I was so grateful that I woke up at 3-4 AM every day this week to film!! Let's continue creating more beneficial lectures together 😊😊

  • kask814587762님의 프로필 이미지
    kask814587762

    수강평 3

    평균 평점 5.0

    5

    96% 수강 후 작성

    I was assigned the role of introducing Kafka to our company, and I feel like I learned a lot through this course. It seems like a perfect course that allows you to experience everything from simple producer-consumer patterns to more diverse use cases.

    • jhong
      지식공유자

      Hello Mr. Woo-dang-tang! Introducing Kafka at your company!! This is proof that your service is growing even bigger 😊😊 Congratulations :) As you mentioned, this is a lecture I prepared covering various use cases. I hope it will be very helpful to you. I'll continue to prepare more beneficial lectures in the future. Thank you :)

  • eightee724277님의 프로필 이미지
    eightee724277

    수강평 4

    평균 평점 5.0

    5

    96% 수강 후 작성

    As the title suggests, I think this is a great course that allows you to learn about Kafka really easily and quickly. You can learn everything from general concepts to practical applications, and in a short time, I really got a clear understanding of what Kafka is. Thank you.

    • jhong
      지식공유자

      Hello, number 8! Thank you for liking it!! Thank you for leaving such a good review. 😆 I will work hard to provide you with even better lectures in the future. Have a great day :)

  • kju626095386님의 프로필 이미지
    kju626095386

    수강평 8

    평균 평점 5.0

    5

    93% 수강 후 작성

    Rather than just implementing features, this seems like a lecture that can give you a really broad perspective on Kafka itself. While it covers general Kafka learning topics, it also addresses aspects like architecture, so it feels like it broadens your overall perspective. Thank you for the great lecture.

    • jhong
      지식공유자

      Hello! Thank you, ju, for leaving a review. I will work hard to create even better lectures in the future!! Please take care of your health in this hot weather :)

  • jukas5985 [DEL] 250815201525님의 프로필 이미지
    jukas5985 [DEL] 250815201525

    수강평 14

    평균 평점 4.9

    5

    96% 수강 후 작성

    This lecture is structured with a more definitive focus on Kafka rather than being centered on Java & Spring. Honestly, being able to learn about such diverse applications and materials regarding Kafka at this price feels like a great deal. Of course, it seems a bit lacking in terms of client-level content, but since you consistently mentioned that the focus was on Kafka, I don't think this will be an issue. Thank you for the great lecture :)

    • jhong
      지식공유자

      Hello gohans, thank you for leaving a review. As you mentioned, this course focused on Kafka's various features and concepts rather than the client side. Actual clients would be composed of more complex business logic. So I would appreciate it if you could understand this course as providing direction for studying Kafka 😊 Have a great day!!

₩69,300

Hong님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!