Học Kafka dễ dàng nhất qua hướng dẫn từ người phỏng vấn của Kakao

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

(4.9) 38 đánh giá

608 học viên

Độ khó Nhập môn

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

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.9

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ụ các sự kiện quy mô lớn bằng cách sử dụng Apache Kafka Producer/Consumer

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

  • Hệ thống bắt giữ dữ liệu thay đổi (Change Data Capture) sử dụng Debezium CDC để ghi lại các thay đổi của cơ sở dữ liệu PostgreSQL trong thời gian thực.

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

  • Cơ sở hạ tầng container quản lý tích hợp Kafka cluster, Zookeeper, PostgreSQL và Debezium Connect bằng cách sử dụng Docker Compose.

  • Logic kinh doanh dựa trên sự kiện (Event-driven) sử dụng Kiến trúc hướng sự kiện (Event-Driven Architecture) để phát hiện gian lận trong thời gian thực, lọc cá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 (Event-Driven Architecture) với MSQ?? 🤔

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


Mặc dù đã trở thành cốt lõi của các hệ thống backend hiện đại, nhưng bạn có thể cảm thấy bối rối khi thực sự áp dụng vào thực tế. Cách để xử lý lượng dữ liệu khổng lồ một cách ổn định, kết nối linh hoạt giữa nhiều dịch vụ và nâng cao khả năng mở rộng của toàn bộ hệ thống! Bạn có thể tìm thấy câu trả lời đó thông qua Kafka và Kotlin.

Khóa học này không phải là một bài giảng lý thuyết nhàm chán, mà được chuẩn bị như một hướng dẫn thực hành 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

📌Khóa học được cấu trúc bao gồm Java, Spring, Spring Boot, Kafka và Kotlin.

* Java không phải là ngôn ngữ mới nhất, chúng ta sẽ học cách viết mã ngắn gọn và ổn định hơn bằng cách sử dụng ngôn ngữ hiện đại Kotlin.

* Học hỏi bí quyết tích hợp hoàn hảo Kafka vào Spring Boot, framework backend phổ biến nhất hiện nay.

📌 Đang 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.

* Dễ dàng thiết lập 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 câu lệnh duy nhất.

* Bạn có thể 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 việc phát triển các logic cốt lõi.

📌 Không chỉ dừng lại ở việc nhắn tin đơn thuần, mà là thiết kế đường ống dữ liệu thực tế

* Không chỉ dừng lại ở việc gửi và nhận tin nhắn đơn thuần, chúng ta sẽ tìm hiểu 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.

* Bạn sẽ học được bí quyết để toàn bộ hệ thống có thể vận hành ổn định 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 bằng Kafka Streams API

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

* Thông qua các ví dụ thực tế như thống kê doanh thu theo thời gian thực và phân tích hoạt động của người dùng, bạn sẽ nắm vững các kỹ thuật xử lý luồng dữ liệu có lưu trạng thái (Stateful).

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

* Thực hiện mô hình CDC (Change Data Capture) bằng Debezium để phát hiện các thay đổi của cơ sở dữ liệu trong thời gian thực và truyền trực tuyến (streaming) vào các topic của Kafka.

* Nắm vững kỹ thuật cốt lõi để xây dựng kiến trúc hướng sự kiện (event-driven architecture) bằng cách liên kết cơ sở dữ liệu với Kafka.

Dành cho những đối tượng sau

Nhà phát triển Backend

Tôi chỉ biết viết API và sử dụng Database thôi.

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

Cần phải cấu trúc dự án và thiết lập kiến trúc có khả năng mở rộng.

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

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

Trong bài giảng này, chúng ta sẽ tìm hiểu về 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ữ dữ liệu phân tán và xử lý song song ]

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

  4. Kafka Connect & Debezium [ Thu thập 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 bằ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à ứng phó sự cố ]

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

  10. Nhiều 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 đã và đang áp dụng kiến trúc dựa trên sự kiện (Event-Driven Architecture) bằng cách sử dụng Kafka, từ đó thực hiện việc kết nối lỏng lẻo (loose coupling).

Người tạo ra bài giảng này

  • Là một nhà phát triển bắt đầu từ một ngành không chuyên, hiện đang làm việc với tư cách là nhà phát triển backend nền tảng tại Pangyo.

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

  • Nhờ hoạt động chăm chỉ, tôi là người chia sẻ kiến thức đã từng thực hiện phỏng vấn tại Inflearn

Người tham gia bài giảng này

  • Người học chuyên ngành Khoa học máy tính tại một trường đại học ở Seoul

  • Từng làm việc tại các tổ chức tài chính lớn và hiện là nhà phát triển Backend và Kỹ sư dữ liệu tại Kakao

  • Nhà phát triển đang cùng Hong tạo ra nhiều bài giảng đa dạng và góp phần cung cấp những kiến thức cũng như môi trường thực tế.

Lưu ý trước khi khóa học bắt đầu

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

  • java

    • java 17.0.12 2024-07-16 LTS

  • IDE

    • intelliJ

  • Docker

    • Docker version 28.0.0, build f9ced58158


Chúng tôi đang vận hành một phòng chat mở để giúp các bạn chuẩn bị cho sự nghiệp của mình. Rất mong nhận được sự quan tâm của các bạn!

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 muốn phát triển từ cấp độ Junior lên Mid-level

  • Nhà phát triể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 (mid-level) muốn phát triển thành lập trình viên cao cấp (senior)

  • Người tìm việc muốn củng cố hồ sơ năng lực (portfolio) của mình

  • Nhà phát triển đang lập kế hoạch nhảy 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ẽ rất tốt nếu bạn có kiến thức cơ bản về Spring.

Xin chào
Đây là Hong

7,536

Học viên

461

Đánh giá

142

Trả lời

4.7

Xếp hạng

25

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 một thời gian dài lười biếng ở nhà vì cảm thấy hứng thú với nó, và hiện tại tôi đang đảm nhận vai trò 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 học tập của bản thân, cùng với những vấn đề và giải pháp thực tế mà các bạn có thể gặp phải trong công việc.

 

Bài giảng không chỉ được tạo ra 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 những người cộng sự.

 

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 IP Sandbox

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

[Hiện tại] Nhà phát triển máy chủ 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

Thêm

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ả

38 đánh giá

4.9

38 đánh giá

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

  • cchoii님의 프로필 이미지
    cchoii

    Đánh giá 12

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

  • 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!!

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!

1.459.542 ₫