강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

Kỹ thuật xử lý lưu lượng truy cập lớn dựa trên workflow cùng với nhà phát triển Kakao (người phỏng vấn)

Lưu lượng truy cập tăng vọt, làm thế nào để chịu đựng được? Thông qua các mẫu thiết kế thực tế dựa trên EDA(Event-Driven Architecture) sử dụng Kafka, Spring, CDC, Temporal, bạn sẽ học cách tạo ra kiến trúc có khả năng chống chịu sự cố và mở rộng linh hoạt. Được giải thích dễ hiểu và rõ ràng cùng với kinh nghiệm thực tế của nhà phát triển Kakao để ngay cả những người không chuyên cũng có thể hiểu được. Khóa học thực hành tập trung xử lý tất cả trong một lần từ luồng dữ liệu thời gian thực, xử lý sự kiện đến liên kết microservice!

(4.9) 31 đánh giá

458 học viên

Độ khó Nhập môn

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

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

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

4.9

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à Mẫu Kiến trúc Hướng sự kiện (Event-Driven Architecture - EDA)

  • Xây dựng message queue dựa trên Kafka và data pipeline bất đồng bộ

  • Change Data Capture (CDC) và chiến lược đồng bộ hóa dữ liệu 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 sử dụng Temporal

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

  • Các 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 máy chủ và tất cả các module đều bị down hết rồi, phải làm sao đây?? 🤔

❗Đây là nội dung cuộc trò chuyện thực tế.❗

😄 Hong : Có phải bạn đang băn khoăn về workflow không? Bạn có biết gì không??

😁 Kakao : Ừ ừ biết rồi, ý bạn là những thứ như Airflow à?? Cuối cùng thì bây giờ cũng bắt đầu quan tâm đến workflow tool rồi đấy. Thầy vui lắm.

😁 Nhà phát triển startup : Ê, tôi nghĩ không phải vậy đâu, không phải là nói về quản lý công việc ở cấp độ client à?

😄Kakao : À Netflix Conductor kiểu như vậy à, tao hay dùng cái đó

😄 Hong : Ý tôi là gần đây tôi đang sử dụng cái đó, mà cái này thật sự tốt đấy

😄Kakao : Ừ ừ, làm cái đó thì những thứ phức tạp đều có thể xử lý bằng cách trừu tượng hóa?? Thật sự là cực kỳ tuyệt vời, chắc không nhiều người biết mà lại lớn thế này, làm sao biết được vậy

😁 Developer startup : Đúng vậy, ban đầu em ấy chính là newbie thuần túy mà

😄Kakao : Nếu dùng cái này thì dù traffic đột ngột tăng vọt do các sự kiện gì đó thì vẫn rất ổn định vì nó dựa trên event. Tuy ở công ty tôi dùng thứ khác nhưng thật sự nếu biết thì rất tốt

😄 Hong : Biết thì phải nói chứ ㅡㅡ Không phải đã quyết định đào tạo học trò sao?? Có ai muốn cùng làm cái này không

😄Kakao : Tôi thì ㄱㄱ thành thật mà nói thì nhiều người làm ở Kakao cũng không biết rõ lắm, tôi cũng thắc mắc tại sao lại không biết, vì tôi đã dùng thử nên tham gia, cũng có open source tên là Temporal

😁 Lập trình viên startup : Tôi lười nên chỉ kiểm tra tackle thôi

😁 Toss : Ồ cái gì vậy?? Mình xem sơ qua trang web thì thấy cái Temporal này cũng có vẻ thú vị đấy?? Nếu áp dụng thì có vẻ ổn, nếu làm khóa học thì mình sẽ mua xem

😄 Hong: 😆😆😆😆😆 Tôi sẽ mời bạn, hãy thử tạo một lần xem

Có phải những vấn đề kinh niên của các kiến trúc như EDA, MSA và phương pháp triển khai để đảm bảo an toàn là gì vậy?? 🤔

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


Câu trả lời nằm ở việc điều phối workflow. Có thể modular hóa và event hóa business logic hoặc xử lý dữ liệu, và thông qua điều này có thể triển khai business logic dưới dạng code dựa trên EDA ngay cả khi traffic tăng vọt. Hơn nữa, nếu tất cả các 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 thì sao?? 🤷

Các phương pháp để bổ sung kiến trúc hiện đại dựa trên MSA, EDA và cách chuyển đổi business logic thành event cũng như quản lý an toàn, tôi và các senior developer đã cùng nhau tập hợp tất cả know-how để công khai.


Không phải là bài gi강 nhàm chán chỉ liệt kê lý thuyết, mà tôi đã chuẩn bị như một hướng dẫn thực chiến để hoàn toàn chinh phục các tính năng cốt lõi về thiết kế dựa trên workflow thông qua việc cùng nhau tìm hiểu quá trình hoạt động. 🚀

Lý do khóa học này đặc biệt

📌 Sự kiện cung cấp 100 phiếu giảm giá

Chúng tôi sẽ chọn 50 người trong số những người mua khóa học trong thời gian khuyến mãi lớn và cung cấp cho mỗi người 2 coupon giảm giá 50%


Vì thời gian sự kiện đã kết thúc nên chúng tôi không cung cấp tính năng này. Mong bạn thông cảm.

📌Nội dung bài giảng được bổ sung liên tục dựa trên các câu hỏi của các bạn

Các câu hỏi mà các bạn đặt ra sẽ được liên tục bổ sung vào chương 8 để cấu thành bài giảng. Dù là câu hỏi về bài giảng hay câu hỏi không liên quan đến bài giảng, nếu các bạn đặt nhiều câu hỏi, chúng tôi sẽ lựa chọn những câu hỏi hữu ích và cung cấp thêm các chủ đề liên quan hoàn toàn miễn phí chỉ dành riêng cho các học viên.

  • (Miễn phí) Vui lòng tham khảo nội dung lưu ý trước khi học khóa học.

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

📌 Khóa học bao gồm tất cả về MSQ(Kafka), CDC(MySQL), Temporal(workflow)

* Không chỉ đơn thuần sử dụng một nền tảng. Bằng cách kết hợp sử dụng các nền tảng bổ sung cần thiết để xây dựng EDA, MSA, bạn có thể học được cách sử dụng nền tảng thực tế.

📌 Nền tảng được các senior developer thực tế áp dụng và sử dụng trong công việc

* Như nội dung cuộc trò chuyện ban đầu, bạn có thể học hỏi về một nền tảng mà ngay cả các nhà phát triển làm việc tại Kakao cũng không hiểu rõ và từ đó có được những điểm khác biệt tương ứng.

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

* Không chỉ là bài giảng 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 đồ trình tự, và thêm vào đó là các file tóm tắt ngắn gọn về nội dung bài giảng.

📌 Con đường tắt từ Junior đến Senior..! System Design

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

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

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

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

* Mô hình CDC thông qua Kafka + Debezium

* Docker, phương pháp xây dựng môi trường sử dụng lightweight image

* Tại sao chúng ta lại ưa chuộng Docker thay vì Virtual Machine??

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

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

* Đảm bảo Giao hàng Tin nhắn trong Kafka

* Khái niệm cơ bản và tính cần thiết của CDC - cốt lõi của đồng bộ hóa 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 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, workflow được triển khai thông qua Spring Boot, Kotlin

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

Tôi khuyến nghị khóa học này cho những người như thế này 👨‍🏫

🎯 Lập trình viên không chuyên ngành nhưng muốn thử thách với thiết kế xử lý lưu lượng truy cập lớn

🎯 Đã từng nghe về Kafka, CDC, Temporal nhưng không 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 sự cố của startup/doanh nghiệp lớn

🎯 Vượt ra ngoài microservice đơn giản, dành cho những ai muốn học thiết kế dịch vụ ở cấp độ workflow

Tài liệu tham khảo hữu ích 🚀

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ò backend developer cho 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, là người chia sẻ kiến thức tạo ra các 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

  • Sinh viên chuyên ngành Công nghệ Thông tin tốt nghiệp từ các 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 tại là developer làm backend và data engineer tại Kakao

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

  • Tài năng quý giá duy nhất trong team này có kinh nghiệm sử dụng Workflow

Lưu ý

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

  • OS

    • Apple M3 Air

Khóa học này sẽ điều chỉnh tỷ lệ giảm giá theo thời gian để cung cấp mức giảm giá cao hơn cho những người mua sớm. Xin vui lòng tham khảo thông tin này.

  • 1차 (9.7 ~ 9.11) : 70%.

  • 2차 (9.12 ~ 9.16) : 60%

  • 3차 (9.17 ~ 9.20) : 50%

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 xây dựng pipeline dữ liệu thời gian thực

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

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

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

  • Nhà phát triển backend đang băn khoăn 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 triển khai xử lý sự kiện thời gian thực và đồng bộ hóa dữ liệu bằng cách tích hợp MySQL và Kafka

  • Sinh viên chuẩn bị việc làm và lập trình viên junior gặp khó khăn trong học tập do không học chuyên ngành

  • Lập trình viên server đang trải qua thực tế công việc với nỗi sợ hãi về kinh nghiệm thực tế còn ít ỏi

Xin chào
Đây là

5,973

Học viên

391

Đá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 ∙ (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ả

31 đánh giá

4.9

31 đánh giá

  • km0411park님의 프로필 이미지
    km0411park

    Đánh giá 3

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

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

  • cchoii님의 프로필 이미지
    cchoii

    Đánh giá 11

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

  • javython님의 프로필 이미지
    javython

    Đánh giá 56

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

  • paulmoon008308님의 프로필 이미지
    paulmoon008308

    Đánh giá 111

    Đánh giá trung bình 4.9

    5

    33% đã tham gia

    1.645.841 ₫

    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!