강의

멘토링

커뮤니티

Programming

/

Back-end

Hệ thống theo dõi phân tán trong kiến trúc dịch vụ MSA với hàng trăm service - chia sẻ từ phỏng vấn viên Kakao

Học cách xây dựng Observability từ cơ bản đến thực chiến, một yếu tố thiết yếu trong môi trường kiến trúc Microservices (MSA). 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 với Grafana Tempo, cũng như trực quan hóa bằng TraceQL. Bạn có thể học cách theo dõi luồng dịch vụ thông qua distributed tracing, xác định điểm nghẽn và phân tích nguyên nhân sự cố.

(5.0) 13 đánh giá

198 học viên

Độ khó Cơ bản

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

  • Hong
Kotlin
Kotlin
Docker
Docker
MSA
MSA
Kotlin
Kotlin
Docker
Docker
MSA
MSA

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

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

5.0

5.0

Tommy

100% đã tham gia

Rất tốt để nắm bắt nhanh những điều cốt lõi, cảm ơn bạn.

5.0

두두

100% đã tham gia

Khóa học đáng tin cậy

5.0

이상헌

27% đã tham gia

Cảm ơn bạn vì khóa học tuyệt vời.

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

  • 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

  • Phân tách 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 hệ thống dựa trên giám sát 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 theo cách khai báo

Có quá nhiều dịch vụ trong kiến trúc MSA, tôi phát điên mất. ㅠㅠ 🤔

❗Đâ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à hơi khó khăn là, trong MSA vì độ liên kết giữa các service khá cao nên việc debug rất vất vả.. Đây có phải là 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 xây dựng tốt thì cũng kiểm tra tracing nữa. Mình thường debug bằng cách xem tracing

😄 Hong : Đang nói về Jaeger à?? Thật đáng ghen tị, nếu chúng tôi cũng có hệ thống như vậy thì sẽ giúp ích rất nhiều cho việc debug, giờ nhìn log mãi mắt sắp lòi ra mất

😄Kakao : Haha đú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ật 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ờ không có cái này thì tôi không sống nổi haha

😄Kakao : Để tớ giới thiệu nhé?? Đây cũng là chủ đề mà cá nhân tớ khá thích, vì nó dễ triển khai mà hiệu quả thực sự tốt như một phương pháp quan sát

😄Kakao : Và thực ra nếu áp dụng chức năng tracing này, có thể giải quyết được nhiều vấn đề 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ược điểm

😄 Hong : Ồ thật á?? Vậy thì chỉ cho tớ đi, hãy cùng tìm hiểu về nó. Tớ cũng đã dùng thử đơn giản với ngôn ngữ khác rồi, nhưng chưa từng kết nối đến tận Grafana

😄Kakao : Vậy thì mình sẽ nhanh chóng thiết lập môi trường MSA với Grafana bằng Kotlin, Docker, docker-compose và hướng dẫn cho cậu nhé

Bạn đ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 nếu áp dụng tính năng tracing này, có thể giải quyết được nhiều vấn đề 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ượ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 nhiều dịch vụ khác nhau và xử lý phân tán là được phải không?? Cấu thành độc lập thì tốt mà!!" Bạn có đang chỉ nghĩ như vậy không?? Khi dịch vụ phát triển, nên cân nhắc những phần nào - nếu bạn suy nghĩ về câu hỏi này thì sẽ rất có ích đấ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 để xem mối quan hệ giữa các dịch vụ và trong quá trình đó có vấn đề gì cũng như độ trễ (latency) nào đã xảy ra.

Trong khóa học này, bạn sẽ học cách xây dựng hệ thống phân tán truy vết 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.


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

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

📌 Khóa học ngắn gọn chỉ 4 giờ 30 phút nhưng hiệu quả, tập trung vào tất cả những điểm cốt lõi

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

📌 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

* Như nội dung cuộc trò chuyện ban đầu, bạn có thể học về nền tảng mà ngay cả các lập trình viên làm việc tại Kakao cũng không rõ và có được lợi thế khác biệt từ đó.

📌 Hàng chục sơ đồ, tệp tóm tắt bài giảng, cấu trúc khóa học phong phú

* Đây không chỉ là khóa học 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à 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 thuần mà còn cả vận hành ở phía sau đó

* Người chỉ viết code không phải là developer. Thông qua hệ thống phân tán truy vết này, bạn có thể học cách nhận biết nhược điểm của kiến trúc hiện tại, hiểu được mối quan hệ giữa các service và tiến hành xử lý sự cố (troubleshooting) một cách hiệu quả trong quá trình này.

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

🧑‍🎓 3075.0

🧑‍🎓 3794.9

🧑‍🎓 4834.7

🧑‍🎓 2394.8

Khóa học này sẽ đề cập đến những nội dung sau.🧩

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

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

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

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

* 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ẹ bằng cách sử dụng Docker

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

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

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

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

🎯 Những người tò mò về quan điểm mà các lập trình viên giỏi đang suy nghĩ và những vấn đề họ đang quan tâm

🎯 Lập trình viên backend đang quan tâm đến việc mở rộng dịch vụ và giám sát theo đó tại startup/doanh nghiệp lớn

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

📌 Sự kiện cung cấp 50 phiếu giảm giá

Khóa học trong thời gian giảm giá sớm (Early Bird), chúng tôi sẽ chọn 50 người trong số những người mua và cung cấp cho mỗi người 1 phiếu giảm giá 50%

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 đang làm việc với vai trò lập trình viên backend nền tảng tại Pangyo

  • Mục tiêu là chia sẻ phương pháp phát triển và lý thuyết phát triển thực tế, 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 phỏng vấn trên Inflearn nhờ hoạt động tích cực

  • Người học chuyên ngành Công nghệ Thông tin tại một 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 đang là lập trình viên backend và data engineer tại Kakao

  • Một lập trình viên đang cùng Hong tạo ra nhiều khóa học đa dạng và đóng góp vào việc cung cấp kiến thức cũng như môi trường thực tế

  • Nhân tài 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 phiên bản 28.0.0, build f9ced58158

    • Docker Compose version 2.33.1

  • IDE

    • IntelliJ IDEA, vsCode

  • 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?

  • Nhà phát triển muốn áp dụng vào thực tế các vấn đề về thiết kế microservices, 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 giám sát và điều phối container

  • Kiến trúc sư lập kế hoạch thiết kế hệ thống phân tán có khả năng 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 các vấn đề và cách khắc phục trong hệ thống phân tán hiện đại

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ả

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á

Tất cả

13 đánh giá

5.0

13 đánh giá

  • tommy0419님의 프로필 이미지
    tommy0419

    Đánh giá 24

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Rất tốt để nắm bắt nhanh những điều cốt lõi, cảm ơn bạn.

    • jhong
      Giảng viên

      Xin chào Tommy, tôi đã cố gắng truyền đạt những điểm cốt lõi đến các bạn trong thời gian ngắn nhất có thể. Vì thời gian của các bạn quá quý giá hehe. Hãy để lại đánh giá tốt nhé, tôi sẽ cung cấp những khóa học bổ ích hơn nữa trong tương lai. Cảm ơn bạn.

  • kduoh님의 프로필 이미지
    kduoh

    Đánh giá 36

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Khóa học đáng tin cậy

    • paulmoon008308님의 프로필 이미지
      paulmoon008308

      Đánh giá 111

      Đánh giá trung bình 4.9

      5

      23% đã tham gia

      • iamzzoon0226님의 프로필 이미지
        iamzzoon0226

        Đánh giá 10

        Đánh giá trung bình 5.0

        5

        100% đã tham gia

        • rntehr29884님의 프로필 이미지
          rntehr29884

          Đánh giá 1

          Đánh giá trung bình 5.0

          5

          27% đã tham gia

          Cảm ơn bạn vì khóa học tuyệt vời.

          • jhong
            Giảng viên

            Cảm ơn anh Sang Heon đã để lại đánh giá tốt! Chúc anh có một ngày tốt lành!

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

        46 ₫

        25%

        1.644.223 ₫

        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!