강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

The Easiest and Most In-Depth Kafka Complete Guide [ By. Non-CS Major & Kakao Developer ]

We will develop a scalable order processing system capable of real-time event streaming using Spring Boot 3.x + Kotlin to build a Kafka cluster, leveraging PostgreSQL CDC with Debezium Connect and Apache Avro schema.

(4.8) 32 reviews

493 learners

  • Hong
실습 중심
백엔드이해하기
백엔드
아키텍처
스프링
Java
Spring
Kotlin
Spring Boot
Kafka

Reviews from Early Learners

What you will gain after the course

  • Asynchronous messaging system for publishing and consuming large-scale events using Apache Kafka Producer/Consumer

  • Stream processing system that utilizes Kafka Streams to perform real-time data filtering, window aggregation, and state store management

  • Change Data Capture System for Real-time Capturing of PostgreSQL Database Changes Using Debezium CDC

  • Data Exchange System Supporting Type-Safe Message Serialization and Schema Evolution Using Apache Avro Schema

  • Container infrastructure for integrated management of Kafka cluster, Zookeeper, PostgreSQL, and Debezium Connect using Docker Compose

  • Event-Driven Architecture for Real-time Fraud Detection, High-Value Order Filtering, and Sales Statistics Aggregation: Event-Based Business Logic

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를 결합하는 아키텍처를 통해 여러분들의 지식을 더 열어드립니다!

Recommended for
these people

Who is this course right for?

  • Backend developers who want to grow from junior to mid-level

  • Developers who want to gain experience in real-time service development

  • Mid-level developer who wants to grow into a senior developer

  • Job seekers who want to strengthen their portfolio

  • A developer planning a career change through expanding their technology stack

Need to know before starting?

  • It would be good to have basic knowledge of Spring.

Hello
This is

4,675

Learners

341

Reviews

120

Answers

4.7

Rating

18

Courses

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

[前] 메타버스 백엔드 개발자

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

 

인터뷰 이력

Curriculum

All

27 lectures ∙ (5hr 5min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

32 reviews

4.8

32 reviews

  • ddddve님의 프로필 이미지
    ddddve

    Reviews 9

    Average Rating 5.0

    5

    33% enrolled

    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
      Instructor

      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 😊😊

  • jycforest29dev4675님의 프로필 이미지
    jycforest29dev4675

    Reviews 2

    Average Rating 3.5

    3

    37% enrolled

    There's too much code copying, and it doesn't provide detailed explanations of API or method usage, so you have to look everything up yourself. It might be manageable if you have some background knowledge, but I question whether it's appropriate for Kafka beginners.

    • jhong
      Instructor

      Hello jy c, thank you for your feedback. The reason I proceeded with copying was because I thought there was essentially no reason to type everything out one by one. I felt that just writing programming language code didn't have much significant meaning, so I structured it this way. Additionally, I will further review and adjust the lecture difficulty and target audience. Thank you!

  • kask814587762님의 프로필 이미지
    kask814587762

    Reviews 3

    Average Rating 5.0

    5

    96% enrolled

    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
      Instructor

      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

    Reviews 5

    Average Rating 5.0

    5

    96% enrolled

    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
      Instructor

      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

    Reviews 8

    Average Rating 5.0

    5

    93% enrolled

    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
      Instructor

      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 :)

Limited time deal ends in 6 days

$6,221.00

28%

$53.90

Hong's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!