강의

멘토링

커뮤니티

BEST
Programming

/

Back-end

Các kỹ thuật xử lý RPC để đảm bảo hiệu suất trong môi trường MSA với hàng trăm dịch vụ do các nhà phát triển từ Kakao và Toss chia sẻ

Khóa học này tập trung vào các kỹ thuật giao tiếp RPC để tối đa hóa hiệu suất trong môi trường MSA (Microservice Architecture) quy mô lớn. Vượt ra ngoài việc thực hành gRPC đơn giản, bạn sẽ học cách triển khai giao tiếp giữa các dịch vụ một cách ổn định và hiệu quả trong môi trường vận hành thực tế nơi hàng trăm microservice hoạt động đồng thời. Dựa trên Golang, khóa học sẽ đề cập đến việc viết cú pháp Protocol Buffers(proto), tự động tạo code và triển khai dịch vụ, cấu trúc của gRPC và những ưu điểm so với RPC truyền thống, cũng như các chiến lược tối ưu hóa hiệu suất với định hướng thực tế. Để những người không chuyên ngành hoặc người mới bắt đầu phát triển server cũng có thể dễ dàng hiểu, khóa học sẽ giải thích từng bước từ khái niệm RPC đến nguyên lý hoạt động bên trong của gRPC, giúp bạn trang bị năng lực thực tế có thể áp dụng ngay vào dịch vụ thực tế.

(4.9) 12 đánh giá

232 học viên

Độ khó Cơ bản

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

  • Hong
Go
Go
MSA
MSA
backend
backend
grpc
grpc
Go
Go
MSA
MSA
backend
backend
grpc
grpc

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

미래 1인 개발자

88% đã tham gia

Tôi đang phát triển tại Toss và là một lập trình viên tham gia và hỗ trợ trong khóa học này. Các bạn nhất định phải hiểu về giao tiếp RPC. Mọi người thường nói rằng họ đã triển khai MSA một cách đơn giản bằng HTTP, nhưng thực ra tôi không đồng ý với điều đó. Thực tế, ngay cả khi tôi đi phỏng vấn trước đây, khi nói về kiến trúc MSA, họ có xu hướng nhất định sẽ hỏi về RPC, điều này cho thấy giao tiếp RPC trong MSA là một trong những yếu tố cực kỳ quan trọng về mặt tối ưu hóa tài nguyên và quản lý. Tôi hy vọng khóa học này sẽ giúp ích rất nhiều cho các bạn.

5.0

Choi

100% đã tham gia

Tôi là một developer đã phát triển tại Kakao và cùng Hong tạo ra khóa học này!! Tôi nghĩ có rất nhiều người không thể giải thích tốt mối quan hệ liên kết giữa hai khái niệm RPC communication và MSA architecture, cũng như không hiểu rõ tầm quan trọng của tính tương thích giữa chúng. Nếu bạn có thể nói rằng "Tôi đã triển khai MSA đến core level ở đâu đó", thì tôi nghĩ bạn nhất định phải có khả năng sử dụng RPC để tối ưu hóa tài nguyên ở tầng network và giải thích được những phần nào đã được cải thiện trong quá trình này. Dựa trên chủ đề đó, tôi đã chuẩn bị khóa học này và hy vọng các bạn sẽ nhận được nhiều sự giúp đỡ sau khi xem khóa học. Cảm ơn các bạn!

5.0

이병석

100% đã tham gia

Nội dung thực sự rất hữu ích.. Tôi rất mong chờ các bài giảng khác và đã học được rất nhiều điều. Nói cụ thể thì: 1. Tôi đã hiểu được tại sao HTTP lại có giới hạn trong việc triển khai MSA. 2. Tôi đã biết được cách thiết kế RPC có thể đáp ứng các yêu cầu đa dạng từ cơ bản đến nâng cao. 3. Tôi đã biết được những phần cần phải xem xét trong quá trình sử dụng RPC. 4. Tôi đã có thể học những nội dung khó biết như tối ưu hóa kết nối hay tái sử dụng kết nối ở cấp độ protocol. Cảm ơn rất nhiều vì bài giảng thực sự tuyệt vời.

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

  • "Tại sao cần RPC?" – Hiểu bản chất của giao tiếp hiệu năng cao vượt qua REST

  • gRPC hoàn toàn chinh phục – từ thiết kế proto đến tự động sinh code, xây dựng dịch vụ thực tế

  • Bí quyết chịu đựng hàng trăm microservice – Công khai chiến lược đảm bảo hiệu năng theo phong cách Kakao

Trong môi trường MSA với hàng trăm dịch vụ tồn tại, cần phải xem xét những phần nào để đảm bảo tối ưu hóa và hiệu suất?? 🤔

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

😄 Hong : Tìm người đã xây dựng MSA đến cấp độ core bằng cách áp dụng gRPC

😁Nhà phát triển Kakao : Tôi đây. Không phải toàn bộ đã áp dụng nhưng một phần đang giao tiếp bằng gRPC, hoặc theo như tôi biết thì trong công ty các team khác cũng có sử dụng RPC hoặc JSON-RPC

😁 Nhà phát triển Toss : Bên này cũng đang sử dụng một phần, vì là giao thức nên cũng có sử dụng websocket, và tất nhiên cũng sử dụng giao tiếp RPC, có vẻ như tùy thuộc vào việc đặt tiêu chuẩn về cấp độ core như thế nào.

😄 Hong : Ừ gần đây mình đang suy nghĩ nhiều về việc từ góc độ kiến trúc thì nên cân nhắc những gì, nên kết hợp như thế nào, và mình nghĩ rằng nếu thực sự phải triển khai MSA đến tận core thì gRPC có lẽ là thứ bắt buộc phải đưa vào

😄Nhà phát triển Kakao : Đúng rồi, tôi biết là khi traffic tăng vọt ở Google cũng vậy, không thể dùng HTTP được nên phải sử dụng RPC. Vì càng nhiều service thì chi phí giao tiếp mạng tăng theo cấp số nhân

😄Kakao 개발자 : Tình hình mỗi công ty sẽ khác nhau, nhưng nếu muốn xây dựng MSA mà không sử dụng gRPC thì hơi tiếc Tất nhiên tùy theo tình huống mà sẽ khác nhau

😁 Nhà phát triển Toss : Đúng vậy, tôi cũng đồng cảm với điều đó, chỉ là giao tiếp qua HTTP và triển khai mọi thứ bằng MSA!! Tôi nghĩ có nhiều người như vậy, nhưng thực ra đó không phải là triển khai hoàn hảo

Các bạn có hiểu và đồng cảm với phần nào trong cuộc trò chuyện trước đó không?? 🤔

Mỗi công ty có hoàn cảnh khác nhau, nhưng nếu muốn xây dựng MSA mà không sử dụng gRPC thì hơi tiếc tất nhiên tùy theo tình huống mà khác nhau rồi

Đã triển khai mọi thứ bằng MSA trong khi giao tiếp qua HTTP!! Tôi nghĩ có nhiều người như vậy, nhưng thực ra đó không phải là triển khai hoàn hảo

Về hai nội dung này, bạn nghĩ thế nào?? Trong MSA, với tình huống cấu hình hàng trăm backend, bạn có hiểu tại sao chủ đề này lại được đề cập không??


Câu trả lời nằm ở việc tối ưu hóa mạng bằng gRPC.

Giao tiếp REST truyền thống dựa trên HTTP/1.1 sẽ gặp phải các giới hạn về hiệu suất do overhead của header, quá trình serialize/deserialize chậm, quản lý kết nối và các vấn đề khác trong môi trường có hàng trăm microservice tương tác với nhau. Ngược lại, gRPC cung cấp multiplexing, nén header và tính năng streaming dựa trên HTTP/2, cho phép giao tiếp giữa các service hiệu quả hơn nhiều.

Ngoài ra, bằng cách module hóa business logic theo đơn vị RPC, có thể tách biệt từng chức năng một cách độc lập và thực hiện việc gọi nhanh cũng như truyền dữ liệu. Khi kết hợp Event-Driven Architecture (EDA) với gRPC, có thể truyền tải các sự kiện giữa các service một cách nhanh chóng và đáng tin cậy, đồng thời có thể quản lý từ tối ưu hóa mạng đến retry và xử lý sự cố ở cấp độ platform. Tức là, ngay cả trong tình huống traffic tăng vọt, kiến trúc dựa trên gRPC vẫn đảm bảo được cả tính ổn định và hiệu suất, đồng thời đang khẳng định vị trí là công nghệ cốt lõi có thể tối đa hóa khả năng mở rộng và bảo trì của service.


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ế sử dụng grpc bằng cách cùng nhau xem xét quá trình hoạt động. 🚀

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

📌 Nền tảng được các lập trình viên senior thực sự áp dụng và sử dụng trong công việc thực tế

* Như nội dung cuộc trò chuyện ban đầu, khóa học được cấu trúc xung quanh các chủ đề mà các lập trình viên đang làm việc tại Kakao, Toss cùng sử dụng. Thông qua đó, hãy học hỏi những bí quyết từ các lập trình viên tài nă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ơ đồ, sequence diagram, 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.

📌 Đây không phải là MSA chỉ nói suông.

* Đây là khóa học giúp bạn có thể nhìn thoáng qua quá trình cần cân nhắc và triển khai những công nghệ nào trong kiến trúc MSA, và bạn có thể thành thạo lý do tại sao gRPC được đưa vào sử dụng để giải quyết những vấn đề cố hữu của kiến trúc này.

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

Chúng 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 tò mò về quan điểm MSA với hàng trăm dịch vụ

🎯 Lập trình viên junior chỉ biết HTTP mà không biết giao tiếp RPC

🎯 Dành cho những ai quan tâm đến khả năng mở rộng traffic và tính tương thích của startup/doanh nghiệp lớn

🎯 Không phải chỉ đơn giản là triển khai MSA, mà là dành cho những người chuẩn bị việc làm muốn suy nghĩ về những khía cạnh này và thử áp dụng

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

  • Người tốt nghiệp chuyên ngành Công nghệ Thông tin tại các trường đại học ở Seoul

  • Đã trải qua ngành tài chính hạng nhất và hiện tại là developer đang phát triển 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ốt nghiệp chuyên ngành Khoa học Máy tính tại tỉnh lẻ, từng làm phát triển phần mềm tại Naver và hiện đang làm phát triển backend tại Toss - một lập trình viên server

  • Lập trình viên luôn bị Hong mắng nhiều vì thiếu thời gian...

  • Nhà phát triển mơ ước đạt được tự do tài chính và trở thành lập trình viên độc lập

Lưu ý

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

  • Golang

    • go1.23


  • IDE

    • GoLand IDEA

  • OS

    • Apple M3 Air

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • MSA를 제대로 hiểu muốn server developer – Muốn học cấu trúc giao tiếp của môi trường quy mô lớn thực tế

  • Kỹ sư muốn áp dụng gRPC vào thực tế – Những người muốn khám phá paradigm giao tiếp mới vượt qua REST

  • Người mới bắt đầu học lập trình không chuyên ngành – Những ai muốn học từng bước từ khái niệm đến code và rèn luyện cảm giác thực tế trong công việc

  • Người học muốn nghiên cứu và học hỏi cấu trúc backend của các dịch vụ lớn như Kakao

Xin chào
Đây là

5,970

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ả

24 bài giảng ∙ (4giờ 27phú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á

4.9

12 đánh giá

  • rojojun님의 프로필 이미지
    rojojun

    Đánh giá 15

    Đánh giá trung bình 4.9

    5

    100% đã tham gia

    Phần lý thuyết và phần thực hành được phân bổ hợp lý! Đây là khóa học đáng giá so với chi phí, từ phần giới thiệu gRPC và nhiều nội dung khác!

    • jhong
      Giảng viên

      Xin chào Rojojun, cảm ơn bạn vì đánh giá tốt. Đây là một đánh giá rất động viên tinh thần. Tôi sẽ cố gắng cung cấp những bài giảng hữu ích hơn nữa!! Chúc bạn có một ngày tốt lành!!

  • paulmoon008308님의 프로필 이미지
    paulmoon008308

    Đánh giá 111

    Đánh giá trung bình 4.9

    5

    25% đã tham gia

    • seungteakoh9676님의 프로필 이미지
      seungteakoh9676

      Đánh giá 3

      Đánh giá trung bình 5.0

      5

      100% đã tham gia

      • hsk7413388님의 프로필 이미지
        hsk7413388

        Đánh giá 12

        Đánh giá trung bình 5.0

        5

        63% đã tham gia

        • y2gon28999님의 프로필 이미지
          y2gon28999

          Đánh giá 3

          Đánh giá trung bình 4.3

          4

          33% đã tham gia

          Ưu đãi có thời hạn, kết thúc sau 7 ngày ngày

          48.950 ₫

          24%

          1.350.612 ₫

          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!