inflearn logo

NATS, hệ thống phân tán nhắn tin và độ trễ cực thấp được người phỏng vấn Naver sử dụng

Khi làm phát triển backend, sẽ có lúc bạn phải đối mặt với những trăn trở như thế này. Đó là khoảnh khắc bạn cảm nhận được giới hạn của việc chỉ sử dụng giao tiếp REST đơn thuần và cấu trúc CRUD khi dịch vụ mở rộng và lưu lượng truy cập tăng lên. Bản thân tôi cũng đã gặp phải vấn đề tương tự trong thực tế và đã trải qua nhiều lần thử sai giữa hiệu suất và sự phức tạp của cấu trúc. Câu trả lời mà tôi lựa chọn trong quá trình đó chính là NATS. Với cấu trúc đơn giản dựa trên một tệp thực thi duy nhất (single binary), hiệu suất độ trễ cực thấp tính bằng micro giây, và việc cung cấp vừa đủ các tính năng thiết yếu cho thực tế từ Pub/Sub đến Queue Group, JetStream đã khiến nó trở thành một lựa chọn rất thực tế trong môi trường dịch vụ thực tế. Khóa học này không phải là một bài giảng liệt kê các tính năng của NATS. Dựa trên những vấn đề tôi đã đối mặt trong công việc, tôi sẽ giải thích thông qua mã nguồn và luồng xử lý về việc tại sao tôi chọn NATS trong những tình huống nào và cách tôi thiết kế cấu trúc ra sao. Đây là khóa học giúp mọi người, từ những người mới bắt đầu với hệ thống nhắn tin (messaging system), các nhà phát triển backend đang chuẩn bị xin việc, cho đến các nhà phát triển cấp cao đang trăn trở về một kiến trúc tốt hơn, có thể hiểu về hệ thống phân tán và tiến thêm một bước trong sự nghiệp.

(5.0) 12 đánh giá

328 học viên

Độ khó Cơ bản

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

JavaScript
JavaScript
Node.js
Node.js
Java
Java
Docker
Docker
TypeScript
TypeScript
JavaScript
JavaScript
Node.js
Node.js
Java
Java
Docker
Docker
TypeScript
TypeScript

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

5.0

5.0

감성코딩

73% đã tham gia

Tôi đã từng có kinh nghiệm sử dụng NATS trong thực tế, một điều khá hiếm gặp, nên tôi đã đăng ký khóa học này để tìm hiểu sâu hơn. Các khái niệm được hệ thống rất tốt và cách giải thích dễ hiểu nên tôi đã thực hành rất thú vị. Mặc dù phần thực hành được tiến hành bằng JS, nhưng tôi đã vừa nghe giảng vừa tự thiết lập trong môi trường Kotlin và Spring Boot. Khi kết hợp giữa các khái niệm trong bài giảng và xem tài liệu hướng dẫn thì tôi thấy nó không quá khó (so với Kafka thì nó cực kỳ trực quan và đơn giản..). Khóa học đã giúp ích cho tôi rất nhiều~!

5.0

Ande

92% đã tham gia

Tôi đang phát triển tại Naver, nơi tạo ra khóa học này, và nó được gọi là Ande!! NATS... có thể các bạn còn xa lạ, nhưng đây thực sự là một nền tảng tuyệt vời và có cấu trúc rất hữu ích. Chính vì vậy mà tôi cũng thường xuyên sử dụng nó và đang tập trung áp dụng trong công việc thực tế. Tôi đã cố gắng hết sức để chia sẻ những phần mà tôi đã trải nghiệm và hiểu biết, mong các bạn xem vui vẻ và cho tôi nhiều phản hồi nhé. Chúc các bạn một ngày tốt lành!!

5.0

02년생 개발자

96% đã tham gia

Tôi thực sự nghĩ đây là khóa học giải thích mọi thứ về NATS ngay cả khi bạn không biết gì về nó. Giảng viên giải thích rất tốt và giống như có một developer giỏi ngồi bên cạnh chỉ cho bạn tại sao nền tảng này hữu ích và cách sử dụng nó... Cảm ơn vì khóa học tuyệt vời này.

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

  • Khả năng trực tiếp thiết kế và triển khai kiến trúc nhắn tin độ trễ cực thấp dựa trên NATS.

  • Khả năng thiết kế, lựa chọn và áp dụng Pub/Sub, Request-Reply, Queue Group phù hợp với từng tình huống cụ thể

  • Kinh nghiệm cấu trúc hệ thống tin nhắn phân tán ổn định, có tính đến Consumer Lag và nghẽn cổ chai (bottleneck)

  • Triển khai tính bền vững của tin nhắn và đường ống xử lý sự kiện thực tế bằng JetStream

  • Năng lực backend có thể giải thích và thiết kế hệ thống phân tán dựa trên sự kiện (event-driven), vượt xa khỏi CRUD thông thường.

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 cảm thấy bị giới hạn trong việc mở rộng dịch vụ nếu chỉ dựa vào giao tiếp REST và cấu trúc CRUD.

  • Những nhà phát triển vẫn đang trì hoãn việc áp dụng messaging vì cảm thấy Kafka quá áp lực.

  • Sinh viên mới tốt nghiệp đang tìm việc, biết rằng cần phải sử dụng kiến trúc hướng sự kiện (Event-Driven Architecture) nhưng không biết phải bắt đầu từ đâu.

  • Các nhà phát triển thực tế đang cảm thấy bế tắc vì không thể giải quyết một cách có hệ thống các vấn đề về Consumer Lag, độ trễ và nút thắt cổ chai.

  • Nhà phát triển chưa từng thiết kế đúng cách cấu trúc dịch vụ yêu cầu độ trễ cực thấp và giao tiếp thời gian thực.

Xin chào
Đây là Hong

Xác minh Inflearn

Xác minh sự nghiệp

10,013

Học viên

634

Đánh giá

165

Trả lời

4.7

Xếp hạng

32

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ả

26 bài giảng ∙ (5giờ 35phú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ả

12 đánh giá

5.0

12 đánh giá

  • and3839455877님의 프로필 이미지
    and3839455877

    Đánh giá 3

    Đánh giá trung bình 5.0

    5

    92% đã tham gia

    Tôi đang phát triển tại Naver, nơi tạo ra khóa học này, và nó được gọi là Ande!! NATS... có thể các bạn còn xa lạ, nhưng đây thực sự là một nền tảng tuyệt vời và có cấu trúc rất hữu ích. Chính vì vậy mà tôi cũng thường xuyên sử dụng nó và đang tập trung áp dụng trong công việc thực tế. Tôi đã cố gắng hết sức để chia sẻ những phần mà tôi đã trải nghiệm và hiểu biết, mong các bạn xem vui vẻ và cho tôi nhiều phản hồi nhé. Chúc các bạn một ngày tốt lành!!

    • jhong
      Giảng viên

      kkk Tiếp tục tạo ra những bài giảng thú vị hơn nữa nhé!! Fighting!!

  • byeongseogi492130님의 프로필 이미지
    byeongseogi492130

    Đánh giá 9

    Đánh giá trung bình 5.0

    5

    88% đã tham gia

    Có vẻ như đây là khóa học duy nhất trên Inflearn đào tạo về nền tảng NATS.. Tôi biết rằng nó thực tế cũng được sử dụng rất nhiều trong server game, thật tuyệt khi có thể học tập nội dung này một cách thoải mái như vậy. Tôi đã xem và học hỏi được những nội dung rất bổ ích. Cảm ơn bạn.

    • jhong
      Giảng viên

      Chào anh Byung-seok, cảm ơn anh đã để lại đánh giá tốt ạ!! Sau này tôi sẽ cung cấp thêm nhiều bài giảng bổ ích hơn nữa nhé!

  • jjhgwx님의 프로필 이미지
    jjhgwx

    Đánh giá 1,052

    Đánh giá trung bình 4.9

    5

    31% đã tham gia

    Cảm ơn bạn vì bài giảng hay!

    • jhong
      Giảng viên

      Cảm ơn bạn vì đã để lại đánh giá tốt cho mình nhé!!

  • whilter088338님의 프로필 이미지
    whilter088338

    Đánh giá 1

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Nội dung rất trực quan và dễ hiểu, đặc biệt tôi rất thích phần cuối khi bạn chỉ ra điểm khác biệt so với các dịch vụ MSQ khác và khi nào thì nên sử dụng nó.

    • jhong
      Giảng viên

      Chào bạn Jeondanji, cảm ơn bạn đã để lại đánh giá tốt. Sau này mình sẽ cố gắng cung cấp thêm nhiều bài giảng bổ ích hơn nữa. Chúc bạn một ngày tốt lành!

  • sdl1355126님의 프로필 이미지
    sdl1355126

    Đánh giá 19

    Đánh giá trung bình 5.0

    5

    85% đã tham gia

    Đây là nội dung lần đầu tôi thấy, nhưng dù là lần đầu xem tôi cũng thấy rất hữu ích!

    • jhong
      Giảng viên

      Chào bạn Keny, 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!

Giảm 25% cho thành viên mới

1.199.242 ₫

25%

1.598.992 ₫