Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
NEW
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.9) 16 reviews

345 learners

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

Reviews from Early Learners

What you will learn!

  • 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

2,377

Learners

169

Reviews

73

Answers

4.5

Rating

13

Courses

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

Curriculum

All

27 lectures ∙ (5hr 5min)

Course Materials:

Lecture resources
Published: 
Last updated: 

Reviews

All

16 reviews

4.9

16 reviews

  • 우왕 개발자다님의 프로필 이미지
    우왕 개발자다

    Reviews 5

    Average Rating 5.0

    5

    33% enrolled

    강의를 촬영하는데 좀 많은 지분이 있는?? 카카오에서 근무하고 있는 개발자 입니다!! 저도 실무에서 Kafka를 많이 사용하는데요!! 실제 프로덕션 레벨까지 된다면 꽤나 복잡하고 이 강의만으로는 현실적으로 좀 부족한 부분이 있습니다 ㅠㅠ 하지만 강의 소개 영상에서도 말했던것처럼 주니어 개발자와 신입 개발자에게는 어떤 정보까지 전달해주면 좋을지를 기준으로 촬영을 하였다는 부분을 알아주셨으면 감사하겠습니다!! 그래서 공부 방향성과 이 Kafka에 대한 대략적인 소개 및 실습 구현체에 집중해서 촬영을 해보았습니다. - 실무에서의 예를 들자면, 오프셋 커밋조건이나, DLQ와 같은 이벤트 소비 누락 방지 패턴같은 부분들이 있긴합니다!! 그래도 많은 도움이 되실 수 있도록 강의를 구성하였으니 가장 쉽고 깊게 그리고 빠르게 이 강의를 통해 Kafka에 대해 학습하시면 좋겠습니다. 많은 관심 부탁드려요! 감사합니다!!

    • Hong
      Instructor

      이번에도 이렇게 도움주셔서 감사합니다!! 바쁘실텐데 ㅠㅠ 저도 감사해서 이번주는 매번 새벽3~4시에 일어나서 촬영했네요!! 앞으로 더 유익한 강의 함께 만들어가요 ㅎㅎ

  • 우당탕탕님의 프로필 이미지
    우당탕탕

    Reviews 3

    Average Rating 5.0

    5

    96% enrolled

    회사에 kafka를 도입하는 롤이 배정되었는데, 이 강의를 통해서 많은 부분을 배운거 같습니다. 단순한 생산 소비 패턴부터 더 다양한 활용법을 경험 할 수 있게 구성해준 완벽한 강의인거 같네요.

    • Hong
      Instructor

      안녕하세요 우당탕탕님! 회사에서 kafka를 도입하시다니!! 서비스가 더 커지고있다는 증거네요 ㅎㅎ 축하드립니다 :) 말씀해주신 부분처럼 다양한 활용법을 다루는 주제로 준비한 강의입니다. 많은 도움이 되셨으면 좋겠네요. 앞으로 더 유익한 강의를 준비하도록 할게요 감사합니다 :)

  • 8번이 좋아님의 프로필 이미지
    8번이 좋아

    Reviews 4

    Average Rating 5.0

    5

    96% enrolled

    제목 그대로 정말 쉽고 빠르게 Kafka에 대해서 학습 할 수 있는 좋은 강의라고 생각합니다. 일반적인 개념부터 실전 활용법에 대해서 학습 할 수 있고 짧은 시간에 Kafka가 무엇인지 확 와닿은 느낌이네요 감사합니다.

    • Hong
      Instructor

      안녕하세요 8번이 좋아님!! 좋은 평 남겨주셔서 감사합니다. 😆 앞으로 더 좋은 강의를 제공해드릴수 있도록 노력하겠습니다. 좋은 하루 보내세요 :)

  • ks ju님의 프로필 이미지
    ks ju

    Reviews 7

    Average Rating 5.0

    5

    93% enrolled

    기능 구현을 한다기 보다는 Kafka 자체에 대해서 정말 폭넓은 시야를 가질 수 있는 강의인거 같습니다. 일반적인 Kafka에 대해서 학습하는 부분도 있지만, 아키텍처 같은 부분에 대해서도 다루어주기 떄문에 시야 자체가 넓어지는 느낌이 드네요. 좋은 강의 감사합니다.

    • Hong
      Instructor

      안녕하세요 is ju님 평 남겨주셔서 감사합니다. 앞으로 더 좋은 강의를 만들 수 있게 노력하겠습니다.!! 더운날씨에 건강 조심하세요 :)

  • 유쾌한 캥거루님의 프로필 이미지
    유쾌한 캥거루

    Reviews 14

    Average Rating 4.9

    5

    96% enrolled

    Java & Spring에 집중이 되어 있기 보다는 Kafka에 더 확실하게 집중하여 구성이 된 강의입니다. 솔직히 이 가격에 Kafka에 대해서 이렇게 다양한 활용법과 자료를 알 수 있다는게 혜자라고 느껴지네요. 물론 클라이언트 레벨에 대해서는 조금 부족해 보이지만 Kafka에 집중하였다고 지속적으로 이야기하시기 떄문에 이 부분은 문제가 되지 않을꺼 같습니다. 좋은 강의 잘 들었습니다 :)

    • Hong
      Instructor

      안녕하세요 gohans님 평 남겨주셔서 감사합니다. 말씀해주신것처럼 이 강의는 클라이언트보다는 kafka의 다양한 기능과 개념에 초점을 맞추었습니다. 실제 클라이언트는 좀 더 복잡한 비지니스 로직으로 구성이 될거에요. 그러니 이 강의는 kafka에 대한 공부 방향성을 잡아준다로 이해해주시면 감사하겠습니다 :) 좋은 하루 보내세요!!

$67.10

jhong's other courses

Check out other courses by the instructor!

Similar courses

Explore other courses in the same field!