Kỹ thuật xử lý lưu lượng lớn dựa trên quy trình làm việc cùng các nhà phỏng vấn của Kakao

Làm thế nào để ứng phó với lưu lượng truy cập tăng đột biến? Thông qua các mẫu thiết kế thực tiễn dựa trên EDA (Event-Driven Architecture), sử dụng Kafka, Spring, CDC và Temporal, bạn sẽ học cách xây dựng một kiến trúc có khả năng chống chịu sự cố và mở rộng linh hoạt. Nội dung được giải thích đơn giản, rõ ràng, kết hợp với kinh nghiệm thực tế của các nhà phát triển Kakao để cả những người không chuyên về công nghệ cũng có thể hiểu được. Một khóa học mang tính thực tiễn, bao quát toàn diện từ luồng dữ liệu thời gian thực, xử lý sự kiện đến tích hợp microservice!

(5.0) 47 đánh giá

561 học viên

Độ khó Nhập môn

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

Spring
Spring
Kotlin
Kotlin
MySQL
MySQL
Kafka
Kafka
Spring
Spring
Kotlin
Kotlin
MySQL
MySQL
Kafka
Kafka

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

5.0

5.0

ks ju

93% đã tham gia

Thật sự đây là một chủ đề rất tuyệt vời. Đây là nội dung hoàn toàn mới mẻ với tôi và điều này... mặc dù đang có kinh nghiệm thực tế, nhưng với tôi - người chỉ từng phát triển các API thông thường, đây thực sự là một chủ đề cực kỳ bổ ích giúp tôi nhận ra thế giới rộng lớn như thế nào.. Cảm ơn bạn rất nhiều vì đã tạo ra một chủ đề tuyệt vời như vậy. Nếu nói về ưu điểm thì, chỉ từ kiến trúc này thôi cũng có thể học được rất nhiều điều lớn lao, và có thể tiếp cận khái niệm workflow - một khái niệm thực sự xa lạ như thế này với mức giá rẻ như vậy thật là tuyệt vời.

5.0

Jlos Ho

89% đã tham gia

Đây có lẻ là bài giảng ý nghĩa nhất trong số các chủ đề tôi đã học cho đến nay. Tôi nghĩ mình đã xem rất nhiều chủ đề qua nội dung blog hay video bài giảng, nhưng khi nhìn thấy chủ đề như thế này, tôi cảm thấy như mình chỉ đang loay hoay trong cái giếng nhỏ mà thôi. Chính vì vậy mà bài giảng này có góc nhìn thực sự xuất sắc và nội dung giúp mở rộng tầm nhìn. Hy vọng rằng nhiều người sẽ tạo ra và học những bài giảng như thế này để văn hóa phát triển của chúng ta ngày càng trưởng thành hơn. Cảm ơn rất nhiều vì bài giảng tuyệt vời này.

5.0

릴뽀이_!

89% đã tham gia

Có vẻ như đây là một trong những khóa học tốt nhất trên Inflearn.. So với các chia sẻ viên nổi tiếng khác thì có vẻ như anh không nổi tiếng lắm, nhưng nội dung thì có vẻ tốt hơn nhiều. Tôi cảm thấy đã học được rất nhiều từ một senior developer có kỹ năng phát triển quá xuất sắc và có quan điểm rất hay. Cảm ơn vì khóa học tuyệt vời.

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

  • Thiết kế và các mẫu kiến trúc hướng sự kiện (EDA)

  • Xây dựng hàng đợi tin nhắn và đường ống dữ liệu bất đồng bộ dựa trên Kafka

  • Change Data Capture (CDC) và chiến lược đồng bộ hóa dữ liệu theo thời gian thực

  • Điều phối quy trình làm việc phân tán và quản lý trạng thái bằng Temporal

  • Thiết kế xử lý bất đồng bộ và tích hợp microservice dựa trên Spring Boot

  • Kỹ thuật lập trình hàm hiện đại sử dụng Kotlin

Lưu lượng truy cập đột nhiên tăng vọt.. Tải của máy chủ và tất cả các mô-đun đều bị sập, giờ phải làm sao đây?? 🤔

❗Nội dung này là đoạn hội thoại thực tế.❗

😄Hong : Mình đang băn khoăn về workflow, bạn có biết không??

😁 Kakao: Ừ, biết chứ. Ý cậu là thứ gì đó như Airflow à?? Cuối cùng cậu cũng bắt đầu quan tâm đến các công cụ workflow rồi. Người thầy này vui lắm.

😁 Lập trình viên startup: Này, hình như không phải cái đó đâu, ý là quản lý tác vụ ở cấp độ client cơ mà?

😄Kakao : À, ý bạn là thứ kiểu như Netflix Conductor à? Tôi thường xuyên dùng cái đó.

😄 Hong: Ý là dạo này tôi đang dùng cái đó, đúng là hàng xịn

😄Kakao : Ừ ừ, dùng cái đó thì có thể xử lý hết mấy thứ phức tạp theo kiểu trừu tượng hóa?? nên thật sự tiện cực kỳ. Chắc chẳng có mấy người biết đâu, lớn ghê rồi đấy, sao lại biết vậy

😁 Lập trình viên startup: Đúng vậy, trước đây cậu ấy đúng kiểu newbie luôn mà.

😄Kakao : Dùng cái này thì kể cả traffic có bùng nổ do một sự kiện đột ngột nào đó, vì nó dựa trên sự kiện nên rất ổn định. Ở công ty tôi thì dùng thứ khác, nhưng nói thật là biết cái này thì tốt lắm

😄 Hong : Biết thì phải nói cho bọn tôi chứ ㅡㅡ Chẳng phải đã thống nhất là sẽ đào tạo đệ tử sao?? Có ai muốn cùng làm thử bằng cái này không

😄Kakao : Tôi tham gia luôn. Nói thật, ngay cả nhiều người làm việc ở Kakao cũng không biết rõ, nên đôi khi tôi cũng tự hỏi sao họ lại không biết. Vì tôi đã từng dùng nên tôi tham gia, ngoài ra còn có một mã nguồn mở tên là Temporal

😁 Lập trình viên startup: Tôi lười nên chỉ bắt bẻ thôi.

😁 Toss: Ồ, gì đây?? Tôi đã xem qua trang web, Temporal cũng thú vị đấy chứ?? Có vẻ áp dụng vào sẽ ổn. Nếu làm khóa học thì tôi sẽ mua về xem.

😄 Hong: hahaha, để tôi mời bạn, cùng thử làm một cái nhé

Có những vấn đề cố hữu nào trong các kiến trúc như EDA, MSA và phương pháp triển khai để đảm bảo tính an toàn không nhỉ?? 🤔

Chỉ đơn giản là nhận sự kiện rồi xử lý thôi sao?? Đây là khái niệm mà nhiều người đã biết và sử dụng. Nhưng nếu sự kiện này thất bại thì phải làm thế nào?? Hoặc chúng ta sẽ quản lý các đoạn logic mã dài như thế nào??


Câu trả lời nằm ở việc điều phối quy trình làm việc. Chúng ta có thể mô-đun hóa và chuyển đổi logic kinh doanh hoặc quá trình xử lý dữ liệu thành các sự kiện, nhờ đó có thể triển khai logic kinh doanh bằng mã dựa trên EDA ngay cả khi lưu lượng truy cập tăng vọt. Ngoài ra, sẽ thế nào nếu toàn bộ quy trình, từ việc giám sát đến việc thử lại một cách an toàn, đều được hỗ trợ thông qua một nền tảng duy nhất?? 🤷

Tôi cùng các senior developer sẽ tập hợp và chia sẻ toàn bộ kinh nghiệm về cách bổ trợ kiến trúc hiện đại dựa trên MSA, EDA, cách biến logic nghiệp vụ thành các sự kiện, cũng như cách quản lý chúng một cách an toà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à là một hướng dẫn thực tiễn giúp bạn hoàn toàn làm chủ các chức năng cốt lõi của thiết kế dựa trên quy trình làm việc thông qua việc cùng nhau quan sát quá trình vận hành. 🚀

Đặc điểm của khóa học ⚡

📌 Khóa học bao quát tất cả về MSQ(Kafka), CDC(MySQL) và Temporal(workflow)

* Không chỉ sử dụng một nền tảng duy nhất. Bạn cũng sẽ học được cách sử dụng nền tảng thực tế bằng cách kết hợp các nền tảng bổ sung thiết yếu để xây dựng EDA và MSA.

📌 Nền tảng được các nhà phát triển cấp cao thực tế áp dụng và sử dụng trong công việc

* Bạn có thể học về những nền tảng mà ngay cả các nhà phát triển đang làm việc tại Kakao cũng không rành, như nội dung cuộc trò chuyện ở phần đầu, từ đó tạo được sự khác biệt cho bản thân.

📌 Khoảng 50 sơ đồ, cấu trúc khóa học phong phú kèm tệp tóm tắt bài giảng

* Đây không chỉ là khóa học giải thích bằng lời nói đơn thuần, mà còn cung cấp mã nguồn thực tế, sơ đồ, biểu đồ tuần tự và thêm cả các tệp tóm tắt ngắn gọn về nội dung bài giảng.

📌 Con đường tắt từ Junior lên Senior..! Thiết kế hệ thống

* Bạn sẽ tìm hiểu về những nhược điểm lớn của các kiến trúc đang được ưa chuộng trong thực tế hiện nay như EDA, MSA, cũng như cách thiết kế để duy trì tính ổn định tương ứng.

* Bạn cũng sẽ học về các kỹ thuật xử lý dữ liệu theo thời gian thực khi sử dụng Database.

Trong khóa học, chúng ta sẽ tìm hiểu những nội dung như sau. 🧩

* Khái niệm và sự cần thiết của việc đồng bộ hóa dữ liệu theo thời gian thực

* Mẫu CDC thông qua Kafka + Debezium

* Cách xây dựng môi trường bằng Docker và các image nhẹ

* Tại sao chúng ta lại thích dùng Docker thay vì Virtual Machine??

* Các khái niệm cơ bản nhưng cốt lõi của Kafka

* Khái niệm cơ bản về Producer & Consumer của Kafka

* Bảo đảm phân phối tin nhắn trong Kafka

* Các khái niệm cơ bản và sự cần thiết của CDC, cốt lõi của đồng bộ hóa theo thời gian thực

* Tại sao CDC dựa trên MySQL Binary Log lại hiệu quả

* Nền tảng triển khai CDC dựa trên Binary Log Debezium

* workflow dành cho máy chủ vận hành ổn định

* Các khái niệm cốt lõi của Temporal: Workflow và Activity

* Kafka và workflow được triển khai bằng Spring Boot, Kotlin

* Cách tạo bảng MySQL và thiết lập Kafka Connector

Khóa học này phù hợp với những đối tượng sau 👨‍🏫

🎯 Dành cho nhà phát triển không chuyên ngành nhưng muốn thử thách bản thân với việc thiết kế hệ thống xử lý lưu lượng lớn

🎯 Dành cho những ai đã từng nghe về Kafka, CDC và Temporal nhưng chưa biết phương pháp thiết kế cụ thể

🎯 Lập trình viên backend quan tâm đến khả năng mở rộng lưu lượng truy cập và khả năng phục hồi khi gặp sự cố của các startup/doanh nghiệp lớn

🎯 Dành cho những ai muốn học thiết kế dịch vụ ở cấp độ quy trình làm việc, vượt xa các microservice đơn giản

Tài liệu hữu ích nên xem cùng 🚀

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

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

  • Mục tiêu là truyền đạt các phương pháp và lý thuyết phát triển thực tế, đồng thời là người chia sẻ kiến thức xây dựng khóa học cùng những người quen tài năng xung quanh thay vì một mình

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

  • Cử nhân 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 trong lĩnh vực tài chính ngân hàng cấp một, hiện là lập trình viên đang làm việc tại Kakao với vai trò kỹ sư backend và dữ liệu

  • Là một lập trình viên đang cùng Hong xây dựng nhiều khóa học đa dạng, góp phần cung cấp kiến thức và môi trường thực tế.

  • Nhân tài quý giá duy nhất trong đội hiện tại có kinh nghiệm sử dụng Workflow.

Thông tin tham khảo

Môi trường thực hành

  • java

    • Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)

  • docker, docker-compose

    • Docker version 28.0.0, build f9ced58158

    • Docker Compose phiên bản 2.33.1

  • IDE

    • IntelliJ IDEA

  • Hệ điều hành

    • Apple M3 Air

Chúng tôi đang vận hành một phòng trò chuyện mở để cùng 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 xây dựng một quy trình xử lý dữ liệu theo thời gian thực

  • Kỹ sư quan tâm đến tính nhất quán và đồng bộ hóa dữ liệu trong các hệ thống phân tán

  • Nhà phát triển quan tâm đến việc thiết kế kiến trúc microservice

  • Nhà phát triển thách thức việc thiết kế các microservice và hệ thống phân tán

  • Lập trình viên backend đang trăn trở về khả năng mở rộng của hệ thống xử lý lưu lượng truy cập lớn

  • Nhà phát triển muốn học cách tích hợp MySQL với Kafka để triển khai xử lý sự kiện theo thời gian thực và đồng bộ hóa dữ liệu

  • Ứng viên tìm việc và lập trình viên mới vào nghề gặp khó khăn trong việc học vì không chuyên ngành CNTT

  • Một lập trình viên backend đang trải qua công việc thực tế đáng sợ vì lo ngại kinh nghiệm làm việc trở nên vô nghĩa

Xin chào
Đây là Hong

Xác minh Inflearn

Xác minh sự nghiệp

10,431

Học viên

651

Đánh giá

171

Trả lời

4.8

Xếp hạng

34

Các khóa học

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ó, hiện tại tôi đang đảm nhận việc phát triển máy chủ nền tảng (platform server) 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 khác nhau 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 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 Sandbox IP

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

[Hiện tại] Nhà phát triển server đang làm việc lâu năm tại Pangyo

 

[Lịch sử phỏng vấn]

[Yêu cầu khác]

[Trang web chính thức]

Thêm

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

Tất cả

27 bài giảng ∙ (4giờ 51phú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ả

47 đánh giá

5.0

47 đánh giá

  • cchoii님의 프로필 이미지
    cchoii

    Đánh giá 12

    ∙

    Đánh giá trung bình 5.0

    5

    93% đã tham gia

    Tôi là một server developer đang phát triển tại Kakao, người duy nhất trong số các developer cung cấp bài giảng cùng với Hong có hiểu biết và đã sử dụng workflow~~ Chính vì vậy mà tôi đã tham gia sâu nhất vào bài giảng này. Thực ra Hong đã từng đề cập đến các kiến trúc như Kafka hay Debezium (CDC) trước đây rồi. Thêm vào đó, tôi đã chuẩn bị một chủ đề bao gồm cả việc đưa workflow vào để tăng tính an toàn trong kiến trúc tổng thể dựa trên EDA. Hy vọng bài giảng này sẽ giúp ích nhiều cho các bạn 😊😊 Chúng tôi sẽ nỗ lực để Hong có thể cùng cung cấp những bài giảng bổ ích và tốt hơn nữa cho các bạn. Mong các bạn tham gia nhiều vào event!! Và hãy mong chờ bài giảng tiếp theo nhé!! Chúc các bạn một ngày tốt lành~

    • jhong
      Giảng viên

      Lần sau chúng ta cùng tạo ra những bài giảng bổ ích hơn nữa nhé 😊😊

  • tttos님의 프로필 이미지
    tttos

    Đánh giá 8

    ∙

    Đánh giá trung bình 5.0

    5

    96% đã tham gia

    Tôi là một developer đang phát triển server tại Toss và gần đây đã cùng Hong tạo ra khóa học MySQL. Anh chàng Hong quyến rũ lại đã dụ dỗ bạn từ Kakao để tạo ra khóa học workflow này!! Workflow mà tôi biết chỉ có Airflow thôi, nhưng đây là lần đầu tiên tôi thấy nội dung có thể triển khai ở cấp độ client bằng cách sử dụng open source. Đối với tôi đây cũng là chủ đề khá hữu ích nên tôi đã xem rất thú vị. Mong mọi người quan tâm nhiều đến khóa học này và cũng mong mọi người quan tâm nhiều đến khóa học tiếp theo. Tôi sẽ cùng Hong tạo ra những chủ đề hay ho.

    • jhong
      Giảng viên

      Đàn ông quyến rũ là sao... Ý anh là gì vậy 😆😆😆😆 Với tư cách là học trò, em sẽ học hỏi nhiều. Cảm ơn anh.

  • maestrois님의 프로필 이미지
    maestrois

    Đánh giá 25

    ∙

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    63% đã tham gia

    Tôi đã xem bài giảng Nginx rất thú vị và bài giảng lần này cũng rất hữu ích! Cảm ơn bạn vì bài giảng tuyệt vời nhé :)

    • jhong
      Giảng viên

      Chào bạn LuckyStrike, cảm ơn bạn đã để lại đánh giá tốt nhé!! Mình sẽ cố gắng cung cấp những bài giảng và nội dung bổ ích hơn nữa trong tương lai!!

  • javython님의 프로필 이미지
    javython

    Đánh giá 73

    ∙

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Các sơ đồ đa dạng giúp ích rất nhiều trong việc hiểu nội dung.

    • jhong
      Giảng viên

      Chào bạn 잉여인간, mình đã cố gắng cung cấp nhiều tài liệu nhất có thể để hỗ trợ các học viên dễ dàng thấu hiểu nội dung bài học. Cảm ơn bạn vì những đánh giá tốt nhé!

  • km0411park님의 프로필 이미지
    km0411park

    Đánh giá 4

    ∙

    Đánh giá trung bình 5.0

    5

    33% đã tham gia

    Các bài giảng ngắn gọn chỉ trích xuất những điểm cốt lõi để giải thích nên không có khoảng thời gian nào để cảm thấy nhàm chán cả. Cảm ơn thầy đã giảng dạy một cách gọn gàng tập trung vào những nội dung quan trọng. Em bắt đầu học khóa này vì tò mò về cách thức hoạt động của Kafka và có vẻ như sẽ rất hữu ích.

    • jhong
      Giảng viên

      Xin chào Park!! Tôi đã cố gắng truyền đạt những nội dung hữu ích trong thời gian ngắn nhất có thể. Cảm ơn bạn!!

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!

Ưu đãi có thời hạn, kết thúc sau 13:29:23 ngày

55.440 ₫

30%

1.647.903 ₫