Inflearn brand logo image
Inflearn brand logo image
Inflearn brand logo image
BEST
Programming

/

Back-end

Hướng dẫn hoàn hảo về Kafka dễ hiểu và sâu sắc nhất [ Bởi. Người không chuyên ngành & Nhà phát triển Kakao ]

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 Spring Boot 3.x + Kotlin để xây dựng cụm Kafka, tận dụng PostgreSQL CDC và Debezium Connect, cùng với schema Apache Avro.

(4.9) 16 đánh giá

345 học viên

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

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

Dịch cái này sang tiếng Việt

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

  • 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ổ và quản lý kho lưu trữ trạng thái

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

  • 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

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

  • Event-Driven Architecture được sử dụng để 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 dựa trên logic kinh doanh hướng sự kiện

Làm thế nào để sử dụng kiến trúc dựa trên 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? 🤔


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

Khóa học này không phải là một bài giảng 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 để 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 tìm hiểu 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 thành bằng 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 bí quyết tích hợp hoàn hảo Kafka với Spring Boot - framework backend phổ biến nhất.

📌 Đang xây dựng môi trường thực hành một cú nhấp chuột bằng Docker Compose.

* Dễ dàng xây 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ỉ với 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à có thể tập trung chỉ vào việc phát triển logic cốt lõi.

📌 Vượt ra ngoài việc nhắn tin đơn giản, thiết kế pipeline dữ liệu thực tế

* Vượt ra ngoài việc đơn thuần gửi và nhận tin nhắn, khóa học sẽ đề 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 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 sử dụng Kafka Streams API

* Học cách sử dụng Kafka Streams để biến đổi và tổng hợp dữ liệu theo thời gian thực 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 bằng Debezium để phát hiện thay đổi cơ sở dữ liệu theo thời gian thực và streaming đến Kafka topic.

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

Chúng tôi khuyến nghị cho những người như thế này

Lập trình viên Backend

Tôi chỉ nghĩ là chỉ cần viết API và Database sẽ khác thôi

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

Cần phải cấu thành cấu trúc dự án và kiến trúc có tính mở rộng

Người chuẩn bị việc làm

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

Trong khóa học này, chúng tôi đang đề cập đến những nội dung như thế này. 🤔

  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 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à ứng phó 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??

Đơn giản thôi! Nhiều doanh nghiệp đã sử dụng Kafka để triển khai kiến trúc dựa trên sự kiện, và nhờ đó họ đang thực hiện loose coupling.

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 tại là một lập trình viên đang làm việc tại Pangyo với vai trò phát triển backend nền tảng

  • Mục tiêu là chia sẻ phương pháp phát triển thực tế và lý thuyết phát triển, 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 đã được Inflearn phỏng vấn nhờ hoạt động tích cực

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

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

  • Đã trải qua ngành tài chính hạng nhất và hiện tại là nhà phát triển làm việc tại Kakao với vai trò backend và data engineer

  • Nhà phát triển đang đóng góp vào việc tạo ra các khóa học đa dạng cùng với Hong và cung cấp kiến thức cũng như môi trường thực tế

Những 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 version 28.0.0, build f9ced58158


Khóa học có hiệu quả học tập tăng gấp 10 lần khi xem 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 ]

  • Khi sử dụng Kafka, tôi sẽ hướng dẫn bạn cách tận dụng hiệu quả Database cần thiết một cách toàn diện, và mở rộng kiến thức của các 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?

  • Nhà phát triển backend muốn phát triển từ 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

  • Nhà phát triển cấp trung muốn phát triển thành nhà phát triể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?

  • Tốt nhất là nên có kiến thức cơ bản về Spring.

Xin chào
Đây là

2,391

Học viên

169

Đánh giá

73

Trả lời

4.5

Xếp hạng

13

Các khóa học

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

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ả

16 đánh giá

4.9

16 đánh giá

  • ddddve님의 프로필 이미지
    ddddve

    Đánh giá 5

    Đá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á 4

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

    Đá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.820.782 ₫

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

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!