강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

Kafka - Học dễ nhất với hướng dẫn từ phỏng vấn viên Kakao

Xây dựng cụm Kafka với Spring Boot 3.x + Kotlin, và phát triển hệ thống xử lý đơn hàng có khả năng mở rộng với streaming sự kiện thời gian thực bằng cách sử dụng PostgreSQL CDC, Debezium Connect và Apache Avro schema.

(4.8) 33 đánh giá

556 học viên

Độ khó Nhập môn

Thời gian Không giới hạn

  • Hong
Java
Java
Spring
Spring
Kotlin
Kotlin
Spring Boot
Spring Boot
Kafka
Kafka
Java
Java
Spring
Spring
Kotlin
Kotlin
Spring Boot
Spring Boot
Kafka
Kafka

Đánh giá từ những học viên đầu tiên

Đánh giá từ những học viên đầu tiên

4.8

5.0

devHand

89% đã tham gia

Tôi nghĩ không nên nói rằng mình hiểu Kafka cho đến khi có thể giải thích nội dung trong khóa học này cho người khác. Đây thực sự là một khóa học rất hữu ích. Tôi cũng đã từng sử dụng đơn giản chỉ với Producer & Consumer thôi, nhưng không ngờ rằng cách sử dụng Kafka lại có thể đa dạng đến vậy. Thực tế là ngay cả anh mentor có 15 năm kinh nghiệm ở công ty cũng nói rằng chưa từng áp dụng những chủ đề như thế này... Dù là junior developer hay senior developer thì cũng phải nghe khóa học này, đây thực sự là một chủ đề quá tuyệt vời. Nếu nói về nhược điểm một cách thực tế thì tôi nghĩ sẽ tốt hơn nếu có thêm code ứng dụng Kafka ở client level. Có lẽ vì khóa học tập trung vào Kafka nên phần này còn thiếu, và sẽ tốt hơn nếu những ai đã hiểu Kafka ở mức độ nào đó mới nghe. Như trong khóa học cũng có đề cập, có những phần không được đi sâu chi tiết, mà những phần đó có thể quan trọng từ góc độ phát triển, ngoài những phần này ra thì đây thực sự là một khóa học quá tuyệt vời. Cảm ơn anh đã tạo ra khóa học tốt như vậy.

5.0

유쾌한 캥거루

96% đã tham gia

Đây là một khóa học tập trung chắc chắn hơn vào Kafka thay vì tập trung vào Java & Spring. Thành thật mà nói, với mức giá này mà có thể biết được những cách ứng dụng đa dạng và tài liệu về Kafka như vậy thì thực sự cảm thấy rất đáng giá. Tất nhiên phần client level có vẻ hơi thiếu sót một chút, nhưng vì thầy liên tục nhấn mạnh rằng đã tập trung vào Kafka nên tôi nghĩ phần này sẽ không thành vấn đề. Cảm ơn thầy vì khóa học hay 😊

5.0

Choi

33% đã tham gia

Tôi đang quay bài giảng và là một developer đang làm việc tại Kakao với khá nhiều cổ phần?? Tôi cũng sử dụng Kafka rất nhiều trong công việc thực tế!! Nếu thực sự đến mức production level thì khá phức tạp và thực tế là chỉ riêng bài giảng này thôi thì có phần hơi thiếu sót 😭😭 Nhưng như đã nói trong video giới thiệu bài giảng, tôi đã quay dựa trên tiêu chí nên truyền đạt những thông tin nào cho các junior developer và developer mới vào nghề, mong các bạn hiểu điều này!! Vì vậy tôi đã tập trung quay về hướng học tập, giới thiệu tổng quan về Kafka này và các bài thực hành triển khai. - Nếu lấy ví dụ trong thực tế, thì có những phần như điều kiện commit offset, các pattern ngăn chặn việc bỏ sót tiêu thụ event như DLQ!! Dù vậy tôi đã cấu trúc bài giảng để có thể giúp ích nhiều nhất cho các bạn, nên mong các bạn học về Kafka thông qua bài giảng này một cách dễ hiểu nhất, sâu sắc và nhanh chóng. Mong nhận được nhiều quan tâm! Cảm ơn các bạn!!

Bạn sẽ nhận được điều này sau khi học.

  • Hệ thống nhắn tin bất đồng bộ phát hành và tiêu thụ sự kiện lớn bằng cách sử dụng Apache Kafka Producer/Consumer

  • Hệ thống xử lý luồng dữ liệu sử dụng Kafka Streams để lọc dữ liệu thời gian thực, tổng hợp theo cửa sổ và quản lý kho lưu trữ trạng thái

  • Hệ thống Change Data Capture thu thập thời gian thực các thay đổi cơ sở dữ liệu PostgreSQL bằng cách sử dụng Debezium CDC

  • Hệ thống trao đổi dữ liệu hỗ trợ tuần tự hóa thông điệp an toàn kiểu và tiến hóa schema bằng cách sử dụng Apache Avro Schema

  • Hạ tầng container quản lý tích hợp Kafka cluster, Zookeeper, PostgreSQL, Debezium Connect sử dụng Docker Compose

  • Logic nghiệp vụ dựa trên sự kiện sử dụng Event-Driven Architecture để phát hiện gian lận thời gian thực, lọc đơn hàng giá trị cao và tổng hợp thống kê doanh thu

Làm thế nào để sử dụng kiến trúc hướng sự kiện với MSQ?? 🤔

Bạn đã từng nghe về 'Kiến trúc hướng sự kiện (Event-Driven Architecture) sử dụng Message Queue' chưa? 🤔


Nó đã trở thành trọng tâm của các hệ thống backend hiện đại, nhưng khi muốn áp dụng vào thực tế công việc thì có thể cảm thấy bối rối. Phương pháp xử lý một lượng lớn dữ liệu một cách ổn định, kết nối linh hoạt nhiều dịch vụ và nâng cao khả năng mở rộng của toàn bộ hệ thống! Chính là thông qua Kafka và Kotlin, bạn có thể tìm ra câu trả lời cho điều đó.

Khóa học này không phải là một khóa học nhàm chán chỉ liệt kê lý thuyết, mà được chuẩn bị như một hướng dẫn thực chiến giúp bạn chinh phục hoàn toàn các tính năng cốt lõi của Kafka thông qua việc cùng nhau xem xét quá trình triển khai và vận hành thực tế. 🚀

Đặc điểm của khóa học này

📌Được cấu trúc với Java, Spring, Spring Boot, Kafka, Kotlin.

* Học cách viết code ngắn gọn và ổn định hơn bằng cách sử dụng ngôn ngữ hiện đại Kotlin thay vì Java.

* Học cách tích hợp hoàn hảo Kafka vào Spring Boot - framework backend phổ biến nhất.

📌 Xây dựng môi trường thực hành chỉ với một cú nhấp chuột bằng Docker Compose.

* Xây dựng dễ dàng các thành phần nền tảng dữ liệu phức tạp như Kafka, Zookeeper, Schema Registry, Kafka Connect chỉ bằng một lệnh duy nhất.

* Tiết kiệm thời gian thiết lập môi trường phát triển và chỉ tập trung vào phát triển logic cốt lõi.

📌 Vượt xa việc nhắn tin đơn giản, thiết kế data pipeline thực tế

* Không chỉ dừng lại ở việc gửi và nhận message, khóa học còn đề cập đến cách quản lý schema dữ liệu và truyền tải dữ liệu một cách ổn định bằng cách sử dụng Avro và Schema Registry.

* Học cách duy trì hoạt động ổn định của toàn bộ hệ thống ngay cả khi cấu trúc dữ liệu thay đổi.

📌 Xử lý và phân tích dữ liệu thời gian thực với Kafka Streams API

* Học cách chuyển đổi và tổng hợp dữ liệu theo thời gian thực bằng Kafka Streams mà không cần cluster riêng biệt.

* Học các kỹ thuật xử lý luồng có trạng thái (Stateful) thông qua các ví dụ thực tế như thống kê doanh thu theo thời gian thực, phân tích hoạt động người dùng.

📌 Triển khai mô hình CDC (Change Data Capture) sử dụng Debezium

* Triển khai mô hình CDC để phát hiện thay đổi trong cơ sở dữ liệu theo thời gian thực và streaming vào Kafka topic bằng Debezium.

* Nắm vững công nghệ cốt lõi để xây dựng kiến trúc hướng sự kiện bằng cách tích hợp cơ sở dữ liệu với Kafka.

Khóa học này phù hợp với

Lập trình viên Backend

Chỉ biết viết API và làm việc với Database thôi

Kỹ sư giải pháp kiến trúc

Tôi cần cấu trúc dự án và kiến trúc có khả năng mở rộng

Người chuẩn bị xin việc

Tôi tò mò về kiến trúc và cấu trúc có khả năng mở rộng

Khóa học này sẽ đề cập đến những nội dung sau. 🤔

  1. Producer & Consumer [ Phát hành và đăng ký dữ liệu Kafka ]

  2. Topic & Partition [ Lưu trữ phân tán dữ liệu và xử lý song song ]

  3. Avro & Schema Registry [ Quản lý schema dữ liệu và tuần tự hóa ổn định ]

  4. Kafka Connect & Debezium [ Bắt giữ dữ liệu thay đổi DB theo thời gian thực (CDC) ]

  5. Kafka Streams API [ Xử lý và phân tích luồng dữ liệu thời gian thực ]

  6. Stateful Stream Processing [ Tổng hợp dữ liệu sử dụng trạng thái ]

  7. Interactive Queries [ API truy vấn dữ liệu thời gian thực đang xử lý ]

  8. Consumer Group & Rebalancing [ Mở rộng Consumer và xử lý sự cố ]

  9. Event-Driven Architecture [ Thiết kế hệ thống dựa trên sự kiện ]

  10. Các sơ đồ ví dụ đa dạng [ Bao gồm khoảng 36 sơ đồ ]


Tại sao phải học Kafka??

Rất đơn giản! Nhiều doanh nghiệp đã sử dụng Kafka để triển khai kiến trúc hướng sự kiện và nhờ đó đang thực hiện khớp nối lỏng lẻo.

Người tạo ra khóa học này

  • Bắt đầu từ người không chuyên ngành, hiện đang làm việc với vai trò lập trình viên backend nền tảng tại Pangyo

  • Mục tiêu là chia sẻ phương pháp phát triển và lý thuyết phát triển thực tế, người chia sẻ kiến thức tạo ra khóa học cùng với những người quen có năng lực xung quanh chứ không phải một mình

  • Người chia sẻ kiến thức đã từng thực hiện phỏng vấn trên Inflearn nhờ hoạt động tích cực

Những người tham gia khóa học này

  • Người học chuyên ngành Công nghệ Thông tin tại một trường đại học ở Seoul

  • Đã từng làm việc tại ngân hàng hạng nhất và hiện đang là lập trình viên phát triển backend và data engineer tại Kakao

  • Một lập trình viên đang cùng Hong tạo ra nhiều khóa học đa dạng và đóng góp vào việc cung cấp kiến thức cũng như môi trường thực tế

Lưu ý trước khi học

Kiến thức tiên quyết và lưu ý

  • java

    • java 17.0.12 2024-07-16 LTS

  • IDE

    • intelliJ

  • Docker

    • Docker phiên bản 28.0.0, build f9ced58158


Khóa học giúp hiệu quả học tập tăng gấp 10 lần khi học cùng nhau

Học MySQL từ nhà phát triển Toss xử lý hơn 500 tỷ dữ liệu tài chính [ By. Người không chuyên ngành & Nhà phát triển Toss ]

  • Hướng dẫn toàn diện về cách sử dụng hiệu quả Database - thành phần không thể thiếu khi làm việc với Kafka, đồng thời mở rộng kiến thức của bạn thông qua kiến trúc kết hợp Kafka!

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Lập trình viên Backend mong muốn phát triển từ Junior → Mid-level

  • Lập trình viên muốn tích lũy kinh nghiệm phát triển dịch vụ thời gian thực

  • Lập trình viên cấp trung muốn phát triển thành lập trình viên cấp cao

  • Sinh viên chuẩn bị việc làm muốn tăng cường portfolio

  • Lập trình viên đang lên kế hoạch chuyển việc thông qua việc mở rộng stack công nghệ

Cần biết trước khi bắt đầu?

  • Sẽ tốt nếu bạn có kiến thức cơ bản về Spring.

Xin chào
Đây là

5,975

Học viên

392

Đánh giá

127

Trả lời

4.7

Xếp hạng

22

Các khóa học

Giới thiệu bản thân

Tôi bắt đầu học lập trình sau khi cảm thấy hứng thú với nó trong lúc đang rảnh rỗi ở nhà, và hiện tại tôi đang đảm nhận việc phát triển server nền tảng tại Pangyo. Tôi tiếp tục hoạt động với tư cách là người chia sẻ kiến thức vì muốn cung cấp cho các bạn phương pháp tôi đã học cũng như những vấn đề và giải pháp đa dạng mà các bạn có thể gặp phải trong thực tế.

 

Bài giảng không chỉ được tạo nên từ kiến thức của riêng tôi. Mọi bài giảng đều có sự đồng hành của tất cả các bạn.

Kinh nghiệm của người chia sẻ kiến thức

[Cựu] Nhà phát triển Blockchain liên quan đến Sandbox IP

[Cựu] Nhà phát triển Backend Metaverse

[Hiện tại] Là một nhà phát triển server dày dạn kinh nghiệm tại Pangyo

Lịch sử phỏng vấn

Các thắc mắc khác

  • unduck2022@gmail.com

Chương trình giảng dạy

Tất cả

27 bài giảng ∙ (5giờ 5phút)

Tài liệu khóa học:

Tài liệu bài giảng
Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

33 đánh giá

4.8

33 đánh giá

  • cchoii님의 프로필 이미지
    cchoii

    Đánh giá 11

    Đánh giá trung bình 5.0

    5

    33% đã tham gia

    Tôi đang quay bài giảng và là một developer đang làm việc tại Kakao với khá nhiều cổ phần?? Tôi cũng sử dụng Kafka rất nhiều trong công việc thực tế!! Nếu thực sự đến mức production level thì khá phức tạp và thực tế là chỉ riêng bài giảng này thôi thì có phần hơi thiếu sót 😭😭 Nhưng như đã nói trong video giới thiệu bài giảng, tôi đã quay dựa trên tiêu chí nên truyền đạt những thông tin nào cho các junior developer và developer mới vào nghề, mong các bạn hiểu điều này!! Vì vậy tôi đã tập trung quay về hướng học tập, giới thiệu tổng quan về Kafka này và các bài thực hành triển khai. - Nếu lấy ví dụ trong thực tế, thì có những phần như điều kiện commit offset, các pattern ngăn chặn việc bỏ sót tiêu thụ event như DLQ!! Dù vậy tôi đã cấu trúc bài giảng để có thể giúp ích nhiều nhất cho các bạn, nên mong các bạn học về Kafka thông qua bài giảng này một cách dễ hiểu nhất, sâu sắc và nhanh chóng. Mong nhận được nhiều quan tâm! Cảm ơn các bạn!!

    • jhong
      Giảng viên

      Lần này cũng cảm ơn anh đã giúp đỡ như vậy!! Chắc anh bận lắm 😭😭 Em cũng biết ơn nên tuần này em dậy lúc 3-4 giờ sáng mỗi ngày để quay phim!! Hãy cùng nhau tạo ra những bài giảng bổ ích hơn nữa nhé 😊😊

  • kask814587762님의 프로필 이미지
    kask814587762

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    96% đã tham gia

    Tôi được giao vai trò triển khai kafka trong công ty, và tôi cảm thấy đã học được rất nhiều thứ thông qua khóa học này. Đây có vẻ là một khóa học hoàn hảo được cấu trúc để có thể trải nghiệm từ mô hình sản xuất tiêu thụ đơn giản đến các cách sử dụng đa dạng hơn.

    • jhong
      Giảng viên

      Xin chào bạn 우당탕탕! Công ty bạn đang triển khai kafka đấy!! Đây là bằng chứng cho thấy dịch vụ đang ngày càng phát triển 😊😊 Chúc mừng bạn :) Như bạn đã đề cập, đây là khóa học được chuẩn bị với chủ đề về các cách sử dụng đa dạng. Hy vọng sẽ giúp ích rất nhiều cho bạn. Tôi sẽ chuẩn bị những khóa học bổ ích hơn nữa trong tương lai. Cảm ơn bạn :)

  • eightee724277님의 프로필 이미지
    eightee724277

    Đánh giá 6

    Đánh giá trung bình 5.0

    5

    96% đã tham gia

    Đúng như tiêu đề, tôi nghĩ đây là một khóa học tuyệt vời giúp học Kafka một cách thực sự dễ dàng và nhanh chóng. Có thể học từ các khái niệm chung đến cách ứng dụng thực tế, và trong thời gian ngắn đã hiểu rõ Kafka là gì một cách rất cụ thể. Cảm ơn bạn.

    • jhong
      Giảng viên

      Xin chào bạn số 8! Cảm ơn bạn đã để lại đánh giá tốt. 😆 Tôi sẽ cố gắng để có thể cung cấp những khóa học tốt hơn nữa trong tương lai. Chúc bạn có một ngày tốt lành :)

  • kju626095386님의 프로필 이미지
    kju626095386

    Đánh giá 8

    Đánh giá trung bình 5.0

    5

    93% đã tham gia

    Thay vì tập trung vào việc triển khai các tính năng cụ thể, tôi cảm thấy đây là một khóa học giúp có được cái nhìn thực sự rộng lớn về chính Kafka. Mặc dù có những phần học về Kafka một cách tổng quát, nhưng vì cũng đề cập đến các phần như kiến trúc, nên tôi có cảm giác tầm nhìn của mình được mở rộng. Cảm ơn vì khóa học tuyệt vời này.

    • jhong
      Giảng viên

      Xin chào, cảm ơn bạn ju đã để lại đánh giá. Tôi sẽ cố gắng để có thể tạo ra những khóa học tốt hơn nữa!! Thời tiết nóng nực, hãy chú ý sức khỏe nhé :)

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

    Đánh giá 14

    Đánh giá trung bình 4.9

    5

    96% đã tham gia

    Đây là một khóa học tập trung chắc chắn hơn vào Kafka thay vì tập trung vào Java & Spring. Thành thật mà nói, với mức giá này mà có thể biết được những cách ứng dụng đa dạng và tài liệu về Kafka như vậy thì thực sự cảm thấy rất đáng giá. Tất nhiên phần client level có vẻ hơi thiếu sót một chút, nhưng vì thầy liên tục nhấn mạnh rằng đã tập trung vào Kafka nên tôi nghĩ phần này sẽ không thành vấn đề. Cảm ơn thầy vì khóa học hay 😊

    • jhong
      Giảng viên

      Xin chào gohans, cảm ơn bạn đã để lại đánh giá. Như bạn đã nói, khóa học này tập trung vào các tính năng và khái niệm đa dạng của kafka hơn là client. Client thực tế sẽ được cấu thành bởi logic business phức tạp hơn. Vì vậy, tôi sẽ rất biết ơn nếu bạn hiểu rằng khóa học này giúp định hướng việc học kafka 😊 Chúc bạn có một ngày tốt lành!!

1.440.111 ₫

Khóa học khác của Hong

Hãy khám phá các khóa học khác của giảng viên!

Khóa học tương tự

Khám phá các khóa học khác trong cùng lĩnh vực!