inflearn logo

Lập trình Reactive cho xử lý song song hơn 20,000+ RPS được chia sẻ bởi người phỏng vấn Naver

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

(5.0) 14 đánh giá

167 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 thiết kế và triển khai trực tiếp 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 (data stream) bằng cách sử dụ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 (thread)

  • Khả năng nhận diện và giải quyết các vấn đề phát sinh khi sử dụng kết hợp mã chặn (blocking code) và mã phản ứng (reactive code)

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 luôn cảm thấy bất an về vấn đề cạn kiệt thread pool khi lưu lượng truy cập tăng lên.

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

  • Những nhà phát triển muốn áp dụng Reactive nhưng chưa thể bắt đầu vì khái niệm còn mơ hồ.

  • Nhà phát triển trong một nhóm đang gặp gánh nặng về chi phí do chỉ giải quyết vấn đề bằng cách mở rộng cơ sở hạ tầng.

  • Nhà phát triển nền tảng đang lo lắng 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 đang khao khát phát triển sự nghiệp do thiếu kinh nghiệm thiết kế môi trường có tính đồng thời cao (high concurrency).

Xin chào
Đây là Hong

Xác minh Inflearn

Xác minh sự nghiệp

9,427

Học viên

601

Đánh giá

166

Trả lời

4.8

Xếp hạng

31

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á

  • jjhgwx님의 프로필 이미지
    jjhgwx

    Đánh giá 1,097

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

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

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

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 23:47:33 ngày

1.565.628 ₫

24%

2.067.810 ₫