강의

멘토링

커뮤니티

BEST
개발 · 프로그래밍

/

백엔드

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

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

(4.8) 수강평 27개

수강생 458명

  • 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에 대한 기본적인 지식이 있으면 좋습니다.

안녕하세요
입니다.

4,142

수강생

298

수강평

109

답변

4.6

강의 평점

18

강의

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

커리큘럼

전체

27개 ∙ (5시간 5분)

해당 강의에서 제공:

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

수강평

전체

27개

4.8

27개의 수강평

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

    수강평 9

    평균 평점 5.0

    5

    33% 수강 후 작성

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

    • Hong
      지식공유자

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

  • jy c님의 프로필 이미지
    jy c

    수강평 2

    평균 평점 3.5

    3

    37% 수강 후 작성

    코드 복사하는 부분이 너무 많고 따로 자세히 API나 메서드 사용법도 설명해주시지 않아 다 찾아봐야 한다. 어느정도 배경지식이 있으면 수월할 수도 있겠으나 카프카 입문자에게 적절한 지 의문.

    • Hong
      지식공유자

      안녕하세요 jy c님 피드백 감사합니다. 복사를 통해 진행한 이유에 대해서는 사실상 하나하나 치면서 진행 할 이유가 없다고 생각했기 떄문입니다. 아무래도 그냥 프로그래밍 언어를 작성하는게 큰 의미는 없다고 생각해서 이렇게 구성한 바가 있습니다. 추가로 강의 난이도나 대상에 대해서는 추가적으로 검토하고 조정하도록 하겠습니다. 감사합니다!

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

    수강평 3

    평균 평점 5.0

    5

    96% 수강 후 작성

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

    • Hong
      지식공유자

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

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

    수강평 5

    평균 평점 5.0

    5

    96% 수강 후 작성

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

    • Hong
      지식공유자

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

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

    수강평 8

    평균 평점 5.0

    5

    93% 수강 후 작성

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

    • Hong
      지식공유자

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

₩69,300

Hong님의 다른 강의

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

비슷한 강의

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