강의

멘토링

로드맵

NEW
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ế.

71 học viên đang tham gia khóa học này

  • Hong
실습 중심
백엔드이해하기
비전공자
웹개발
백엔드개발자
Go
MSA
backend
grpc

Dịch cái này sang tiếng Việt

  • "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 khía cạnh 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 tôi biết thì trong công ty các team khác cũng có sử dụng RPC thông thường 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ó 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 cách đặt tiêu chuẩn về cấp độ core.

😄 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 càng tăng theo cấp số nhân

😄Nhà phát triể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ó phải trong cuộc trò chuyện trước đó, các bạn đã hiểu và đồng cảm với phần nào 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

Tô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 dựa trên HTTP/2 cung cấp multiplexing, nén header và tính năng streaming 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 logic kinh doanh 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 gọi nhanh cũng như truyền dữ liệu. Khi kết hợp kiến trúc hướng sự kiện (EDA) với gRPC, có thể truyền tải các sự kiện giữa các dịch vụ 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 độ nền tảng. Tức là, ngay cả trong tình huống lưu lượng truy cập tăng đột biến, 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ị thế 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ì dịch vụ.


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 tìm hiểu 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 tiếp thu 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ơ đồ, biểu đồ trình tự, 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 phải cân nhắc và đưa vào 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 để 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 cho các học viên.

Chúng tôi khuyến nghị 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ụ

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

🎯 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à 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 nên xem cùng 🚀

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ò phát triển backend 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 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 mời tham gia 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à nhà phát triển làm việc tại Kakao với vai trò kỹ sư backend và kỹ sư dữ liệu

  • Nhà phát triển đang góp phần 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 Công nghệ thông tin 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

Khóa học này sẽ điều chỉnh tỷ lệ giảm giá theo thời gian để cung cấp mức giảm giá cao hơn cho những người mua sớm. Vui lòng tham khảo thông tin này.

  • 1차 : 60%.

  • 2차 : 50%

  • 3차 : 40%

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à

3,527

Học viên

263

Đánh giá

104

Trả lời

4.6

Xếp hạng

17

Các khóa học

자기 소개

집에서 빈둥대다 개발에 흥미를 느껴 개발 공부를 시작하였고 현재는 판교에서 플랫폼 서버 개발을 담당하여 진행하고 있습니다.

 

제가 공부를 했던 방법과 실무에서 접하실 수 있는 여러가지 문제점들과 해결책을 여러분들에게 제공하고 싶어 지식공유자 활동을 이어나가고 있습니다.

 

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

 

지식공유자 경력

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

[前] 넥슨 자회사 백엔드 개발자

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

 

인터뷰 이력

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á

Chưa có đủ đánh giá.
Hãy trở thành tác giả của một đánh giá giúp mọi người!

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

39.600 ₫

60%

2.089.184 ₫

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!