강의

챌린지

멘토링

로드맵

커뮤니티

Lập trình Reactive cho xử lý song song 20,000+ RPS do chuyên gia phỏng vấn của Naver chia sẻ

Đây là khóa học dành cho các nhà phát triển muốn tìm ra giải pháp căn bản trong môi trường mà lưu lượng truy cập càng tăng thì phản hồi càng chậm, thread pool nhanh chóng cạn kiệt và tình trạng nghẽn cổ chai càng nghiêm trọng khi số lượng lời gọi API bên ngoài tăng lên. Khóa học không chỉ tập trung vào việc mở rộng máy chủ một cách đơn thuần, mà còn giúp bạn nhìn nhận vấn đề từ góc độ thay đổi chính cấu trúc hệ thống. Thông qua khóa học này, trước tiên bạn sẽ hiểu những giới hạn của mô hình Thread per Request truyền thống trong Spring MVC. Bạn sẽ kiểm tra ở cấp độ mã nguồn lý do vì sao CPU vẫn còn dư nhưng thông lượng không tăng, cũng như cách Blocking I/O thực sự chiếm dụng tài nguyên hệ thống. Tiếp theo, bạn sẽ tìm hiểu khái niệm và đặc tả tiêu chuẩn của Reactive Streams, đồng thời học cách xử lý luồng dữ liệu bằng Mono và Flux của Reactor. Không dừng lại ở việc sử dụng đơn giản, bạn sẽ thực hành để nắm được cách luồng dữ liệu bắt đầu, được tiêu thụ và điều tiết thông lượng như thế nào. Đặc biệt, bạn cũng sẽ trực tiếp triển khai phương pháp thiết kế sử dụng Back Pressure để ngăn ngừa OOM hoặc tình trạng quá tải. Ngoài ra, bạn sẽ hiểu cấu trúc xử lý dựa trên event loop của Spring WebFlux và thực hành so sánh cách Non-Blocking I/O hoạt động trong quá trình xử lý yêu cầu thực tế. Bằng cách đặt MVC và WebFlux cạnh nhau để kiểm tra sự khác biệt về mặt cấu trúc, khóa học cũng giúp bạn hệ thống hóa các tiêu chí quyết định khi nào nên lựa chọn Reactive. Khóa học không chỉ dừng lại ở mức “học về bất đồng bộ”. Bạn sẽ học cách xử lý nhiều yêu cầu hơn với ít thread hơn, duy trì luồng hoạt động ổn định trong môi trường phụ thuộc nhiều vào API bên ngoài, đồng thời phát triển tư duy thiết kế để đảm bảo thông lượng trong môi trường có mức độ đồng thời cao.

(5.0) 14 đánh giá

175 học viên

Độ khó Nhập môn

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

Java
Java
Spring
Spring
Spring Boot
Spring Boot
Parallel Processing
Parallel Processing
webflux
webflux
Java
Java
Spring
Spring
Spring Boot
Spring Boot
Parallel Processing
Parallel Processing
webflux
webflux

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

5.0

5.0

Jang Jaehoon

12% đã tham gia

Cảm ơn bạn vì bài giảng tuyệt vời!

5.0

이성훈

100% đã tham gia

Khóa học Lập trình Reactive do người phỏng vấn Naver hướng dẫn nhằm xử lý song song hơn 20,000 RPS là khóa học mà tôi đã tham gia để mở rộng hiểu biết về cấu trúc máy chủ và phương thức xử lý thời gian thực trong khi thực hiện dự án liên kết doanh nghiệp SSAFY. Trong dự án hiện tại, có nhiều tình huống cần phải cân nhắc về cấu trúc xử lý phản hồi và tính đồng thời như liên kết máy chủ AI, xử lý dữ liệu thời gian thực, giao tiếp API bên ngoài, v.v. Đúng vào thời điểm tôi đang thắc mắc về những hạn chế của cấu trúc dựa trên Spring MVC truyền thống, khóa học này đã giúp ích rất nhiều trong việc thấu hiểu luồng tổng quát về Lập trình Reactive và WebFlux. Đặc biệt, tôi rất thích cách giải thích đi kèm với thực hành thay vì chỉ là lý thuyết suông về các khái niệm như sự khác biệt giữa cấu trúc Thread per Request và cấu trúc dựa trên Event Loop, phương thức xử lý luồng dữ liệu (data stream) sử dụng Mono và Flux, hay khái niệm kiểm soát quá tải thông qua Back Pressure. Trước đây, tôi chỉ đơn thuần nghĩ WebFlux là một "framework bất đồng bộ", nhưng qua khóa học này, tôi đã cảm nhận được rằng đây là một cách tiếp cận mang tính cấu trúc để xử lý tính đồng thời cao với ít tài nguyên. Mặc dù tôi chưa áp dụng WebFlux ngay lập tức vào dự án liên kết doanh nghiệp đang thực hiện, nhưng những khái niệm học được từ khóa học này đã giúp ích rất nhiều trong quá trình cân nhắc cấu trúc tính năng thời gian thực hoặc giao tiếp với máy chủ AI. Đặc biệt, tầm nhìn của tôi về sự khác biệt giữa Blocking I/O và Non-blocking, cũng như các vấn đề nghẽn cổ chai có thể xảy ra khi có nhiều lượt gọi API bên ngoài, đã được mở rộng hơn trước. Ngoài ra, việc khóa học đề cập đến cả những nội dung cần cân nhắc trong thực tế như SSE, WebSocket, Retry pattern, luồng xử lý lỗi, v.v., đã mang lại cho tôi những trải nghiệm vượt xa việc chỉ học cú pháp đơn thuần. Tôi nghĩ rằng trong tương lai, khi quy mô dự án lớn hơn hoặc trong môi trường đòi hỏi xử lý tính đồng thời cao và liên kết bên ngoài nhiều hơn, tôi chắc chắn muốn cân nhắc việc thực sự áp dụng WebFlux và cấu trúc Reactive. Đây là một khóa học giúp tôi có được tiêu chí đánh giá để lựa chọn công nghệ phù hợp trong từng tình huống, thay vì chỉ tiếp cận Reactive như một xu hướng công nghệ đơn thuần.

5.0

goldrex123

100% đã tham gia

Đây là khóa học giúp bạn có thể tìm hiểu tổng quan về WebFlux :)

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

  • Cách tự thiết kế và triển khai máy chủ Non-Blocking dựa trên Spring WebFlux

  • Khả năng thiết kế và kiểm soát luồng dữ liệu bằng Mono và Flux

  • Năng lực thiết kế cấu trúc áp dụng Back Pressure để ngăn ngừa quá tải

  • Khả năng giải thích sự khác biệt về cấu trúc giữa MVC và WebFlux và đưa ra tiêu chí lựa chọn

  • Kỹ thuật thiết kế kiến trúc xử lý tính đồng thời cao với ít luồng

  • Khả năng xác định và giải quyết các vấn đề phát sinh khi sử dụng kết hợp mã blocking và mã reactive

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 lo lắng về vấn đề cạn kiệt nhóm luồng khi lưu lượng truy cập tăng lên

  • Nhà phát triển Spring cảm nhận được những hạn chế của cấu trúc MVC nhưng chưa tìm ra giải pháp thay thế

  • Những lập trình viên muốn áp dụng Reactive nhưng vì khái niệm còn mơ hồ nên thậm chí không dám thử nghiệm

  • Lập trình viên trong đội ngũ ngày càng chịu gánh nặng chi phí vì chỉ giải quyết vấn đề bằng cách mở rộng hạ tầng

  • Nhà phát triển nền tảng đang trăn trở về vấn đề độ trễ giao tiếp giữa các dịch vụ trong môi trường MSA

  • Nhà phát triển cảm thấy khao khát phát triển sự nghiệp vì còn thiếu kinh nghiệm thiết kế môi trường có tính đồng thời cao

Xin chào
Đây là Hong

Xác minh Inflearn

Xác minh sự nghiệp

11,446

Học viên

612

Đánh giá

175

Trả lời

4.8

Xếp hạng

30

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ả

25 bài giảng ∙ (6giờ 0phú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ả

14 đánh giá

5.0

14 đánh giá

  • youngba8935643님의 프로필 이미지
    youngba8935643

    Đánh giá 10

    ∙

    Đánh giá trung bình 5.0

    5

    88% đã tham gia

    Tôi đã xem rất hiệu quả vì nội dung được chọn lọc kỹ lưỡng, chỉ tập trung vào những phần cốt lõi!

    • jhong
      Giảng viên

      Chào bạn Tenburger, cảm ơn bạn đã để lại đánh giá tốt nhé!!

  • leesh0619님의 프로필 이미지
    leesh0619

    Đánh giá 1

    ∙

    Đánh giá trung bình 5.0

    Đã chỉnh sửa

    5

    100% đã tham gia

    Khóa học Lập trình Reactive do người phỏng vấn Naver hướng dẫn nhằm xử lý song song hơn 20,000 RPS là khóa học mà tôi đã tham gia để mở rộng hiểu biết về cấu trúc máy chủ và phương thức xử lý thời gian thực trong khi thực hiện dự án liên kết doanh nghiệp SSAFY. Trong dự án hiện tại, có nhiều tình huống cần phải cân nhắc về cấu trúc xử lý phản hồi và tính đồng thời như liên kết máy chủ AI, xử lý dữ liệu thời gian thực, giao tiếp API bên ngoài, v.v. Đúng vào thời điểm tôi đang thắc mắc về những hạn chế của cấu trúc dựa trên Spring MVC truyền thống, khóa học này đã giúp ích rất nhiều trong việc thấu hiểu luồng tổng quát về Lập trình Reactive và WebFlux. Đặc biệt, tôi rất thích cách giải thích đi kèm với thực hành thay vì chỉ là lý thuyết suông về các khái niệm như sự khác biệt giữa cấu trúc Thread per Request và cấu trúc dựa trên Event Loop, phương thức xử lý luồng dữ liệu (data stream) sử dụng Mono và Flux, hay khái niệm kiểm soát quá tải thông qua Back Pressure. Trước đây, tôi chỉ đơn thuần nghĩ WebFlux là một "framework bất đồng bộ", nhưng qua khóa học này, tôi đã cảm nhận được rằng đây là một cách tiếp cận mang tính cấu trúc để xử lý tính đồng thời cao với ít tài nguyên. Mặc dù tôi chưa áp dụng WebFlux ngay lập tức vào dự án liên kết doanh nghiệp đang thực hiện, nhưng những khái niệm học được từ khóa học này đã giúp ích rất nhiều trong quá trình cân nhắc cấu trúc tính năng thời gian thực hoặc giao tiếp với máy chủ AI. Đặc biệt, tầm nhìn của tôi về sự khác biệt giữa Blocking I/O và Non-blocking, cũng như các vấn đề nghẽn cổ chai có thể xảy ra khi có nhiều lượt gọi API bên ngoài, đã được mở rộng hơn trước. Ngoài ra, việc khóa học đề cập đến cả những nội dung cần cân nhắc trong thực tế như SSE, WebSocket, Retry pattern, luồng xử lý lỗi, v.v., đã mang lại cho tôi những trải nghiệm vượt xa việc chỉ học cú pháp đơn thuần. Tôi nghĩ rằng trong tương lai, khi quy mô dự án lớn hơn hoặc trong môi trường đòi hỏi xử lý tính đồng thời cao và liên kết bên ngoài nhiều hơn, tôi chắc chắn muốn cân nhắc việc thực sự áp dụng WebFlux và cấu trúc Reactive. Đây là một khóa học giúp tôi có được tiêu chí đánh giá để lựa chọn công nghệ phù hợp trong từng tình huống, thay vì chỉ tiếp cận Reactive như một xu hướng công nghệ đơn thuần.

    • jhong
      Giảng viên

      Chào bạn Seong-hun, mình thực sự rất cảm động ạ ㅠㅠㅠㅠ Đọc những dòng này mình đã được tiếp thêm rất nhiều sức mạnh và đây chính là động lực để mình tiến xa hơn nữa ㅠㅠ Trong thời gian tới, mình sẽ cố gắng cung cấp những bài giảng bổ ích hơn nữa để có thể làm hài lòng bạn trong các bài học tiếp theo. Chúc bạn một ngày tốt lành nhé!!!

  • goldrex1230028님의 프로필 이미지
    goldrex1230028

    Đánh giá 6

    ∙

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Đây là khóa học giúp bạn có thể tìm hiểu tổng quan về WebFlux :)

    • jhong
      Giảng viên

      Chào bạn goldrex123, lần tới mình sẽ chuẩn bị kỹ lưỡng hơn để chúng ta có thể tìm hiểu sâu hơn nữa. Chúc bạn một ngày tốt lành và xin cảm ơn!

  • jjhgwx님의 프로필 이미지
    jjhgwx

    Đánh giá 1,205

    ∙

    Đánh giá trung bình 4.9

    5

    12% đã tham gia

    Cảm ơn bạn vì bài giảng tuyệt vời!

    • jhong
      Giảng viên

      Chào bạn Jang Jaehoon, cảm ơn bạn vì những đánh giá tốt!! Mình sẽ cung cấp thêm nhiều bài giảng bổ ích hơn nữa trong tương lai!! Chúc bạn một ngày tốt lành nhé!

  • kyletes6021420님의 프로필 이미지
    kyletes6021420

    Đánh giá 2

    ∙

    Đánh giá trung bình 5.0

    5

    88% đã tham gia

    Tôi đã xem và rất ấn tượng.. Dù đang làm lập trình viên được 6 năm rồi nhưng bài giảng này vẫn khiến tôi cảm thấy mình còn nhiều thiếu sót.. Tuy là một chủ đề đơn giản nhưng nội dung rất hay và đi sâu vào trọng tâm. Xin cảm ơn bạn.

    • jhong
      Giảng viên

      Xin chào bạn letes ky, cảm ơn bạn đã để lại đánh giá tốt 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!

Ưu đãi có thời hạn

74.250 ₫

25%

2.054.089 ₫