강의

멘토링

로드맵

NEW
Programming

/

Back-end

Hệ thống theo dõi phân tán trong kiến trúc dịch vụ MSA hàng trăm dịch vụ do nhà phát triển Kakao chia sẻ [ Feat: Kakao, người không chuyên ngành ]

Học tập quá trình xây dựng Observability cần thiết trong môi trường kiến trúc microservice (MSA) từ cơ bản đến thực chiến. Thông qua thực hành từng bước, bạn sẽ nắm vững việc thu thập dữ liệu chuẩn hóa bằng OpenTelemetry, lưu trữ và tìm kiếm trace thông qua Grafana Tempo, cũng như trực quan hóa bằng TraceQL. Bạn có thể học tập quá trình theo dõi luồng dịch vụ thông qua distributed tracing, xác định điểm nghẽn cổ chai và phân tích nguyên nhân sự cố.

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

  • Hong
실습 중심
백엔드이해하기
도커
grafana
docker
Kotlin
Docker
MSA
docker-compose

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

  • Kỹ thuật theo dõi yêu cầu giữa các microservice và phân tích hiệu suất sử dụng OpenTelemetry và Grafana Tempo

  • Tách biệt dịch vụ theo domain, giao tiếp HTTP giữa các dịch vụ, thiết kế hệ thống

  • Cấu hình môi trường đa container thông qua Docker Compose, quản lý mạng và service discovery

  • Vận hành dựa trên giám sát hệ thống và tracing thông qua Grafana, Tempo, otel-collector

  • Quản lý cấu hình dựa trên YAML, cấu hình dịch vụ thông qua biến môi trường và phương thức định nghĩa hạ tầng khai báo

Trong kiến trúc MSA có quá nhiều dịch vụ khiến tôi phát điên. 😭😭 🤔

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

😄 Hong : Vấn đề đang khiến tôi băn khoăn gần đây và khá khó khăn là, trong MSA do độ kết nối giữa các service khá cao nên việc debug rất khó khăn.. Điều này có bình thường không?

😁Kakao : Ừm... mọi người thường xem log và metric, hoặc nếu môi trường được thiết lập tốt thì cũng kiểm tra tracing nữa, tôi thường debug bằng cách xem tracing

😄 Hong : Bạn đang nói về Jaeger à?? Thật đáng ghen tị, nếu chúng ta cũng có hệ thống như vậy thì sẽ rất hữu ích cho việc debug, nhìn log mãi mắt sắp tụt ra rồi

😄Kakao :😆😆😆😆 đúng rồi, ban đầu có nhiều người chỉ xem log thôi, nhưng nếu biết khái niệm tracing và áp dụng thì thực sự rất tốt, dễ thấy mối quan hệ giữa các service và có thể theo dõi toàn bộ luồng xử lý, giờ tôi không thể sống thiếu cái này 😆😆😆

😄Kakao : Để tôi hướng dẫn một lần nhé?? Tôi cũng khá thích chủ đề này và đây là phương pháp quan sát thực sự hiệu quả mà lại dễ triển khai

😄Kakao : Và thực ra nếu áp dụng tính năng tracing này, thì có thể giải quyết được nhiều vấn đề khác nhau phát sinh trong MSA. Mọi người cứ nói MSA tốt MSA tốt, nhưng đa số lại không nhìn thấy những nhược điểm

😄 Hong : Ồ thật à?? Vậy thì hãy chia sẻ một chút về vấn đề này, chúng ta cùng tìm hiểu nhé. Tôi cũng đã sử dụng đơn giản với các ngôn ngữ khác, nhưng chưa thực sự kết nối đến Grafana

😄Kakao : Vậy thì tôi sẽ nhanh chóng thiết lập và hướng dẫn cho bạn môi trường grafana và MSA một cách đơn giản với Kotlin, Docker, docker-compose

Bạn có đang tiến hành giám sát quan sát trong môi trường kiến trúc MSA như thế nào vậy?? 🤔

😄Kakao : Và thực ra khi áp dụng tính năng tracing này, có thể giải quyết được nhiều vấn đề khác nhau phát sinh trong MSA. Mọi người cứ nói MSA tốt MSA tốt, nhưng đa số lại không nhìn thấy những nhược điểm

  • Bạn nghĩ thế nào về chủ đề trước đó??

"Nếu là MSA thì chỉ cần cấu thành bằng các dịch vụ đa dạng và xử lý phân tán là được rồi phải không?? Vì được cấu thành độc lập nên tốt mà!!" Có phải bạn chỉ đang nghĩ như vậy không?? Khi dịch vụ phát triển, việc suy nghĩ về những phần nào cần phải cân nhắc sẽ rất hữu ích cho bạn nếu bạn một lần thử suy ngẫm về câu hỏi này.


Câu trả lời nằm ở việc tích hợp và xử lý dữ liệu phân tán (otel-collector), biểu diễn chúng dưới dạng dữ liệu truy vết để quan sát mối quan hệ giữa các dịch vụ và trong quá trình đó xác định những vấn đề gì đang xảy ra và độ trễ nào đã phát sinh.

Trong khóa học này, bạn sẽ học về cách xây dựng hệ thống theo dõi phân tán bằng cách kết hợp Grafana & Tempo & OpenTelemetry Collector - những công cụ đại diện để giám sát các dịch vụ trong hệ thống phân tán cho chủ đề này.


Không phải là bài giảng nhàm chán chỉ liệt kê lý thuyết, mà được chuẩn bị như một hướng dẫn thực chiến để hoàn toàn chinh phục thiết kế dữ liệu distributed tracing và các chức năng cốt lõi tương ứng thông qua việc cùng nhau tìm hiểu quá trình xây dựng, viết code và vận hành trong môi trường thực tế. 🚀

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

📌 Khóa học ngắn 4 giờ 30 phút nhưng hiệu quả, tập trung tất cả những điều cốt lõi

* Thời lượng bài giảng dài không có nghĩa là tốt. Tôi chỉ tập trung vào những phần cốt lõi mà các bạn cần biết, và trong thời gian ngắn này đã bao gồm cả quá trình thực hành để có thể xác minh dữ liệu tracing thực tế, chỉ đề cập đến những chủ đề cốt lõi.

📌 Hệ thống quan sát mà các lập trình viên senior thực sự triển khai và sử dụng trong công việc thực tế

* Giống như nội dung cuộc trò chuyện ban đầu, bạn có thể học hỏi về một nền tảng mà ngay cả các nhà phát triển làm việc tại Kakao cũng không hiểu rõ và từ đó có được những điểm khác biệt tương ứng.

📌 Hàng chục 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.

📌 Không chỉ phát triển dịch vụ đơn giản mà còn cả vận hành ở tầm cao hơn

* Người chỉ viết code không phải là developer. Thông qua hệ thống distributed tracing này, bạn có thể học cách nhận biết những nhược điểm của kiến trúc hiện tại đã được triển khai, hiểu được mối quan hệ giữa các service và tiến hành troubleshooting hiệu quả các vấn đề phát sinh trong quá trình này.

Chuyên môn đã được chứng minh qua các khóa học trước đây (tính đến 9.27) 👨‍🏫

🧑‍🎓 3075.0

🧑‍🎓 3794.9

🧑‍🎓 4834.7

🧑‍🎓 2394.8

Khóa học này bao gồm những nội dung như sau.🧩

* Grafana là gì và tại sao phải sử dụng

* Khả năng tích hợp giữa Tempo và Grafana

* Cấu trúc và nguyên lý trực quan hóa dữ liệu truy vết phân tán

* Cấu trúc tương quan gỡ lỗi trong môi trường Distributed Tracing

* Kiến trúc microservices trong Tempo

* Cơ chế lưu trữ dựa trên khối của Tempo

* TraceQL chuyên dụng cho Tempo và tối ưu hóa hiệu suất

* Kiến trúc tổng thể của OpenTelemetry Collection và các thành phần chi tiết của nó

* Xây dựng môi trường nhẹ sử dụng Docker

* Tự động hóa không gian bằng cách sử dụng Volume Mount của Docker

* Thực hành!! Tất cả các phương pháp cài đặt cho lý thuyết đã học

Tôi khuyên dùng cho những người như thế này 👨‍🏫

🎯 Lập trình viên không chuyên ngành cũng được chào đón, và những ai tò mò về phương pháp khắc phục sự cố trong kiến trúc MSA

🎯 Những nhà phát triển có năng lực đang băn khoăn về những vấn đề gì, dành cho những ai tò mò về góc nhìn đó

🎯 Nhà phát triển backend đang suy nghĩ về việc mở rộng dịch vụ của startup/doanh nghiệp lớn và việc quan sát theo đó

Lý do khóa học này đặc biệt

📌 Sự kiện cung cấp 50 coupon

Khóa học trong thời gian giảm giá sớmsẽ chọn ra 50 người trong số những người mua và cung cấp cho mỗi người 1 coupon giảm giá 50%

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ò 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 phỏng vấn nhờ hoạt động tích cực

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

  • Đã từng làm việc tại ngân hàng hạng nhất và hiện tại là nhà 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ài năng quý giá duy nhất trong team này có kinh nghiệm sử dụng Workflow

Lưu ý

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

  • java

    • Java(TM) SE Runtime Environment (build 17.0.12+8-LTS-286)

  • docker, docker-compose

    • Docker version 28.0.0, build f9ced58158

    • Docker Compose phiên bản 2.33.1

  • IDE

    • IntelliJ IDEA, vsCode

  • OS

    • Apple M3 Air

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 muốn áp dụng vào thực tế các vấn đề về thiết kế microservice, xây dựng hệ thống phân tán và giao tiếp giữa các dịch vụ

  • Chuyên gia vận hành phụ trách xây dựng hệ thống điều phối container và giám sát

  • Nhà thiết kế lập kế hoạch thiết kế hệ thống phân tán có thể mở rộng, triển khai khả năng quan sát và chuyển đổi sang kiến trúc microservices

  • Kỹ sư cần sử dụng các công cụ quan sát để cải thiện tính ổn định của hệ thống, giám sát hiệu suất và ứng phó với sự cố

  • Nhà phát triển muốn học về các vấn đề của hệ thống phân tán hiện đại và cách khắc phục

Xin chào
Đây là

3,174

Học viên

212

Đánh giá

86

Trả lời

4.6

Xếp hạng

16

Các khóa học

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

Chương trình giảng dạy

Tất cả

22 bài giảng ∙ (4giờ 31phú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 ₫

50%

1.673.822 ₫

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!