강의

멘토링

커뮤니티

NEW
Programming

/

Web Development

Messaging siêu thấp độ trễ và hệ thống phân tán với NATS - Hướng dẫn từ phỏng vấn viên Naver

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

(5.0) 4 đánh giá

115 học viên

Độ khó Cơ bản

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

  • Hong
실습 중심
실습 중심
자격증
자격증
시험
시험
백엔드이해하기
백엔드이해하기
토이프로젝트
토이프로젝트
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

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

  • Khả năng tự thiết kế và triển khai kiến trúc messaging siêu độ trễ thấp dựa trên NATS

  • Năng lực 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

  • Kinh nghiệm xây dựng kiến trúc messaging phân tán ổn định có xem xét Consumer Lag và bottleneck

  • Triển khai tính bền vững thông điệp và pipeline xử lý sự kiện thực tế sử dụ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 vượt xa CRUD

Hệ thống nhắn tin phân tán cho độ trễ cực thấp trong môi trường MSA!! Được chia sẻ bởi nhà phát triển Naver mới gia nhập.

  • Nội dung bên dưới là cuộc trò chuyện thực tế.

😄 Lập trình viên Naver : Có ai biết về NATS, một MSQ không?? Tôi hay sử dụng nó nên tôi định thử quay một video về chủ đề đó

😁 Lập trình viên Kakao (người phỏng vấn) : Ừ tớ đã dùng thử rồi. Tớ biết là nếu sử dụng ở cấp độ Core thì hiệu suất có thể đạt đến mức micro giây.

😄 Nhà phát triển Naver : Đúng vậy. Nhưng thực tế thì không sử dụng đến Core, mà chủ yếu sử dụng dưới dạng JetStream cho HA. Tôi nghĩ nó rất hữu ích trong việc triển khai và áp dụng MSQ đơn giản.

😄 Nhà phát triển Naver : Tình cờ tham gia như thế này, nếu làm một nội dung tập trung vào khía cạnh hiệu năng như vậy thì có vẻ sẽ giúp ích rất nhiều cho những người xem.

😄 Hong : Ôi chao, người quý phái lại đến nơi khiêm tốn này... Tôi cũng chỉ nghe nói về NATS chứ chưa có kinh nghiệm sử dụng, nếu anh dẫn dắt thì tôi sẽ cố gắng làm thật tốt.

😄 Lập trình viên Naver : ㅋㅋㅋㅋ Ngược lại tôi phải cảm ơn vì đã cho tôi cơ hội tốt ㅋㅋㅋㅋ

😁 Lập trình viên Toss : Dạo này bận quá.. Tớ cũng muốn tạo cái mới khi nào đó, nghe nói NATS rất tốt, routing cũng dễ và linh hoạt

😁 Người phỏng vấn Kakao (lập trình viên) : X (lập trình viên Naver) code thực sự giỏi theo tôi thấy thì đạt mức free pass rồi kkkkk vui vì được gia nhập như thế này

Bạn triển khai giao tiếp giữa các service trong kiến trúc phân tán như thế nào?? ⚡

Trong môi trường mà vô số dịch vụ được kết nối xoay quanh dữ liệu, chúng ta cần vượt qua CRUD đơn thuần để xây dựng kiến trúc động dựa trên sự kiện, tạo nên sự kết nối lỏng lẻo giữa các dịch vụ.Mỗi lần như vậy lại phải băn khoăn. Hầu hết các bạn sẽ có những băn khoăn như thế này. Làm thế nào để đảm bảo hiệu suất?? Làm sao để xem xét giao tiếp động và Auto Scaling?? Hiện tượng Consumer Lag thì quản lý như thế nào? Dead Letter Queues lại là gì nữa?

Câu trả lời cho những điều đó chính là trong khóa học này. Phương pháp kết nối nhiều service dựa trên Subject!! Theo đó, phương pháp triển khai giao tiếp thời gian thực với độ trễ cực thấp, phương pháp ngăn chặn Consumer Lag thông qua góc nhìn HA và Queue Group, v.v. Thông qua khóa học tập trung cao độ vào hiệu năng này, chúng tôi đã chuẩn bị để các bạn có thể đạt được sự an toàn và tối ưu hóa cho các service trong kiến trúc MSA của mình.

Đây không chỉ là một khóa học lý thuyết đơn thuần. Tôi hy vọng bạn sẽ có thời gian học cách sử dụng và triển khai trực tiếp nền tảng NATS thông qua các mã nguồn thực tế đa dạng. 🚀

Tại sao chọn nền tảng NATS

NATS là một nền tảng nhắn tin cung cấp hiệu suất cao với độ trễ cực thấp.

Thông qua đặc điểm Single Platform, NATS cung cấp Streaming, Key-Value, Object store, PubSub và nhờ đặc điểm Microservices nên có thể áp dụng dễ dàng và nhanh chóng trong môi trường phân tán. Tức là nó được phân tán và có đặc điểm zerotrust security. Thêm vào đó, với đặc điểm Multi-cloud to Edge, bạn có thể nhận được tất cả ứng dụng và dữ liệu dưới dạng on-premise bất kể vị trí vật lý.

Trong tài liệu chính thức của NATS, họ giới thiệu về mình như sau.

NATS là một lớp dữ liệu mã nguồn mở đơn giản, bảo mật và hiệu suất cao cho các ứng dụng cloud native, tin nhắn IoT và kiến trúc microservices. Tất cả những điều này trong một tệp nhị phân duy nhất dễ dàng triển khai và quản lý. Không có phụ thuộc bên ngoài, chỉ cần thả nó vào và thêm một tệp cấu hình để trỏ đến các máy chủ NATS khác và bạn đã sẵn sàng. Trên thực tế, bạn thậm chí có thể nhúng NATS vào ứng dụng của mình

( NATS là một lớp dữ liệu mã nguồn mở đơn giản, an toàn và hiệu năng cao cho các ứng dụng cloud native, IoT messaging và kiến trúc microservices. Nó cung cấp nhiều tính năng đa dạng, và tất cả các tính năng đều được cung cấp dưới dạng một tệp nhị phân duy nhất dễ dàng triển khai và quản lý. Do đó, một cách tự nhiên, không có phụ thuộc bên ngoài, bạn chỉ cần triển khai tệp nhị phân đơn giản và cấu hình để trỏ đến các máy chủ NATS khác là có thể sử dụng ngay. Ngoài ra, cũng có thể nhúng NATS dưới dạng embedded bên trong ứng dụng. Tất cả các tính năng đều được cung cấp dưới dạng một tệp nhị phân duy nhất dễ dàng triển khai và quản lý.)

Trong kiến trúc hiện đại, đây là cấu trúc có vô số giao tiếp diễn ra giữa các dịch vụ. Trong cấu trúc như vậy, việc học NATS - một ứng dụng có độ trễ cực thấp và hiệu suất cao nhờ vào binary đơn nhất, loại bỏ phụ thuộc, cloud native - không phải là khuyến nghị mà là bắt buộc, trở thành công nghệ cần phải nắm vững.

Tôi khuyên bạn nên dành thời gian này để học cách sử dụng NATS và phát triển thành một lập trình viên có bộ kỹ năng công nghệ khác biệt so với người khác. 🚀

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

📌 Khóa học về giao thức nhắn tin phân tán được sử dụng trong thực tế bởi các nhà phát triển Naver

  • Đây là khóa học được xây dựng với sự tham gia của các lập trình viên đang làm việc tại Naver. Không chỉ đơn thuần là tìm hiểu MSA là gì, mà bạn có thể học tập thông qua việc cùng nhau xây dựng NATS - một dịch vụ messaging hiệu suất cực cao. Thông qua đó, chúng tôi đã chuẩn bị nội dung giúp bạn có thể học hỏi sâu rộng theo hướng thực tế trong công việc.

📌 Tóm tắt bài giảng, mã nguồn và các mẫu định tuyến thông điệp đa dạng

  • Trong tất cả các bài giảng, chúng tôi cung cấp sơ đồ thực tế hoặc trình bày rộng rãi về quá trình thực hành. Không chỉ đơn thuần là gõ theo mà là hiểu được quá trình hoạt động thực tế và các mẫu có thể áp dụng.


📌 Junior biết thì là junior giỏi.. Senior biết thì là senior có năng lực - Dịch vụ giao thức nhắn tin phân tán cho điều này

  • Bạn chỉ biết về CRUD thôi sao?? Trong kiến trúc phân tán, không phải CRUD mà là giao tiếp mở rộng dựa trên EDA được hỗ trợ. Để làm được điều này, NATS là giải pháp có thể triển khai điển hình..!! Đây là nội dung duy nhất vô nhị trên Inflearn.

Khóa học này phù hợp với 👨‍🏫

🎯 Lập trình viên cấp độ sơ - trung cấp chỉ từng nghe về Kafka trong các dịch vụ nhắn tin phân tán

  • Các dịch vụ messaging phân tán rất đa dạng. Tuy có tồn tại các messaging pipeline như Kafka, nhưng tôi khuyên bạn nên thử học NATS - một dịch vụ thực sự tập trung vào hiệu suất trong kiến trúc MSA

🎯 Các lập trình viên không biết gì về dịch vụ messaging và muốn học

  • Tôi không biết gì về dịch vụ nhắn tin phân tán Khóa học này là phù hợp nhất. Với tư cách là một nhà phát triển server, để học kiến trúc hiện đại, tôi khuyên bạn nên học về loose coupling giữa các dịch vụ thông qua khóa học này.

🎯 Lập trình viên senior tò mò về hệ sinh thái của nền tảng NATS

  • Ngay cả những người đã có kinh nghiệm phát triển cũng có nhiều người lần đầu nghe về NATS. Chính vì vậy tôi khuyên bạn nên học vì có thể tiếp thu được công nghệ mới mà người khác chưa biết đến.


🎯 Dành cho những ai quan tâm đến game server, giao tiếp thời gian thực, ứng dụng chat Sinh viên chuẩn bị việc làm Backend · Lập trình viên Junior

  • NATS có độ trễ cực thấp và hiệu suất áp đảo nên có hình thức phù hợp nhất cho việc giao tiếp giữa các dịch vụ. Tôi khuyên dùng cho những ai tò mò về server hiệu suất cao thông qua giao tiếp độ trễ thấp ở mức micro.


Lý lịch của nhà phát triển Naver đã chuẩn bị khóa học này 🤭


Tôi là Ande (tên viết tắt), một lập trình viên backend server với 10 năm kinh nghiệm đang làm việc tại Naver.

Tôi muốn chia sẻ và thảo luận về các công nghệ và stack đa dạng mà tôi biết với mọi người nên đã tạo ra khóa học này. Tôi mong muốn mọi người có thể tiếp thu được bí quyết của tôi và không mắc phải những sai lầm giống như tôi.

Tôi đã tham gia cùng nhờ sự giới thiệu của người quen (phỏng vấn viên Kakao) và quay video cùng nhau dưới sự dẫn dắt của Hong. Chúng tôi đã cố gắng truyền tải càng nhiều nội dung càng tốt. Mong nhận được nhiều sự quan tâm của các bạn. Ngoài ra, hãy thoải mái đặt câu hỏi nhé. Tôi sẽ cố gắng kiểm tra và trả lời tối đa. Cảm ơn các bạn.

[Hiện tại] Lập trình viên máy chủ Naver (trụ sở chính)

[Trước] Lập trình viên Backend thuộc Tập đoàn Shinsegae

[Trước] Lập trình viên server tại startup chăm sóc sức khỏe

[Trước] Chuyên ngành Công nghệ Thông tin 4 năm tại Seoul

Lưu ý

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

  • IDE

    • Visual Studio Code

  • Hệ điều hành

    • Apple M3 Air

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

  • Lập trình viên liên tục trì hoãn việc áp dụng messaging vì Kafka quá nặng nề

  • Sinh viên chuẩn bị xin việc biết là phải dùng kiến trúc hướng sự kiện nhưng không biết bắt đầu từ đâu

  • Các lập trình viên thực tế đang cảm thấy bế tắc vì không thể giải quyết được các vấn đề Consumer Lag, độ trễ và tắc nghẽn một cách có cấu trúc

  • Lập trình viên chưa từng thiết kế đúng cách kiến trúc dịch vụ cần truyền thông thời gian thực với độ trễ cực thấp

Xin chào
Đây là

5,406

Học viên

368

Đánh giá

124

Trả lời

4.7

Xếp hạng

21

Các khóa học

자기 소개

집에서 빈둥대다 개발에 흥미를 느껴 개발 공부를 시작하였고 현재는 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다. 제가 공부를 했던 방법과 실무에서 접하실 수 있는 여러가지 문제점들과 해결책을 여러분들에게 제공하고 싶어 지식공유자 활동을 이어나가고 있습니다.

 

강의는 오로지 저만의 지식을 통해 만들어지지 않습니다. 모든 강의는 함께하시는 분들이 계십니다.

 

지식공유자 경력

[前] 샌드박스IP 관련 블록체인 개발자

[前] 메타버스 백엔드 개발자

[] 판교에서 고여가는 서버 개발자

 

인터뷰 이력

기타 문의

  • unduck2022@gmail.com

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ả

4 đánh giá

5.0

4 đánh giá

  • and3839455877님의 프로필 이미지
    and3839455877

    Đánh giá 2

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

  • miaaade9585868님의 프로필 이미지
    miaaade9585868

    Đánh giá 6

    Đánh giá trung bình 5.0

    5

    92% đã tham gia

    Tôi đã xem các khóa học khác cũng rất bổ ích, và khóa học này tôi cũng thấy cực kỳ hữu ích. Mong thầy tiếp tục tạo ra những khóa học hay như vậy ㅠㅠ Tiền thì tôi sẽ trả... Chất lượng khóa học cũng ngày càng được nâng cao (dù hiện tại đã quá tuyệt vời rồi...!!) Cảm giác như thầy chỉ tạo ra những khóa học hoàn toàn xứng đáng với số tiền bỏ ra... ㅠㅠ Tôi thật sự rất biết ơn vì được học về chủ đề này với mức giá này.

    • jhong
      Giảng viên

      Xin chào Amy, cảm ơn bạn đã để lại đánh giá!! Đây thực sự là một đánh giá rất động viên ㅠㅠ Tôi sẽ cố gắng tạo ra những khóa học giúp nhiều người hơn nữa có thể nhìn nhận vấn đề từ nhiều góc độ khác nhau. Chúc bạn có một ngày tốt lành!!

  • gsu002845933님의 프로필 이미지
    gsu002845933

    Đánh giá 5

    Đánh giá trung bình 5.0

    5

    88% đã tham gia

    Giảng viên mà tôi yêu thích nhất trên Inflearn... Mỗi khi có khóa học mới ra, tôi đều thanh toán ngay lập tức để xem và tham khảo.. Nhờ đó gần đây tôi đã tìm được việc làm thành công ㅠㅠㅠ Thật sự rất cảm ơn thầy. Tôi đã nhận được quá nhiều sự giúp đỡ từ thầy. Nội dung bản thân cũng vô cùng bổ ích và với tư cách là người đang chuẩn bị xin việc, thầy đã giúp tôi có thể nhìn thấy những góc nhìn mà tôi hoàn toàn không thể thấy được ㅠㅠ Thật sự rất cảm ơn thầy.

    • jhong
      Giảng viên

      Wow... Chúc mừng bạn Rilppoi rất nhiều. Tôi thực sự vinh dự khi đã có thể giúp ích cho quá trình chuẩn bị xin việc của bạn...!! Chúc bạn luôn gặp nhiều điều tốt lành phía trước. Tôi sẽ tiếp tục nỗ lực để đề cập đến những chủ đề mà dù là người đang chuẩn bị xin việc hay thậm chí là các lập trình viên senior cũng chưa từng trải nghiệm. Cảm ơn bạn vì những lời đánh giá tốt đẹp và chúc bạn một ngày tốt lành!!

  • gjsu540607534님의 프로필 이미지
    gjsu540607534

    Đánh giá 4

    Đánh giá trung bình 5.0

    5

    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.

    • jhong
      Giảng viên

      Xin chào bạn developer sinh năm 2002!! Cảm ơn bạn đã để lại đánh giá tốt. Tôi đã cố gắng hết sức để truyền đạt nhiều góc nhìn và kiến thức như thể có một người có thực lực đang ngồi bên cạnh pair coding cùng bạn vậy. Cảm ơn bạn!

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

29.370 ₫

70%

2.053.710 ₫

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!