강의

챌린지

멘토링

로드맵

커뮤니티

Hệ thống truy vết phân tán trong kiến trúc hàng trăm dịch vụ MSA do người phỏng vấn của Kakao chia sẻ

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

(4.9) 17 đánh giá

275 học viên

Độ khó Cơ bản

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

Kotlin
Kotlin
Docker
Docker
MSA
MSA
Kotlin
Kotlin
Docker
Docker
MSA
MSA

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

4.9

5.0

돌고래축제

100% đã tham gia

Cảm ơn bài giảng của bạn.

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

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

  • Kỹ thuật truy vết yêu cầu và phân tích hiệu suất giữa các microservice bằng OpenTelemetry và Grafana Tempo

  • Phân tách dịch vụ theo từng miền, giao tiếp HTTP giữa các dịch vụ, thiết kế hệ thống

  • Thiết lập môi trường đa container, quản lý mạng và khám phá dịch vụ thông qua Docker Compose

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

  • 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 cơ sở hạ tầng mang tính khai báo

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

❗Nội dung này là cuộc trò chuyện có thật.❗

😄 Hong : Vấn đề khiến tôi trăn trở và khá đau đầu dạo gần đây là do mức độ liên kết giữa các service trong MSA quá lớn, nên việc debug khó khăn vô cùng.. Chuyện này có bình thường không?

😁 Kakao : Ừm... mọi người thường xem log và các chỉ số, hoặc nếu môi trường được thiết lập đầy đủ thì cũng kiểm tra tracing. Còn tôi thường vừa xem tracing vừa gỡ lỗi

😄 Hong: Ý bạn là Jaeger à?? Ghen tị quá, giá mà bên mình cũng xây dựng được một hệ thống như vậy thì việc debug sẽ dễ dàng hơn, chứ cứ nhìn log mãi chắc mắt tôi rơi ra mất thôi

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

😄Kakao : Muốn tôi giới thiệu một chút không?? Đây cũng là chủ đề mà cá nhân tôi khá thích, hơn nữa đây là một phương pháp quan sát dễ triển khai mà hiệu quả lại thực sự rất tốt

😄Kakao : Và thật ra, nếu đưa vào tính năng tracing này thì cũng có thể giải quyết nhiều vấn đề phát sinh trong MSA; mọi người cứ nói MSA tốt này tốt kia, nhưng đa số lại không nhìn thấy những nhược điểm của nó

😄 Hong: Ồ, thật à?? Vậy thì chỉ mình một chút nhé, chúng ta cùng tìm hiểu về vấn đề này. Mình cũng từng sử dụng đơn giản bằng một ngôn ngữ khác, nhưng chưa thực sự tích hợp đến tận Grafana

😄Kakao : Vậy thì tôi sẽ nhanh chóng dựng một môi trường Grafana và MSA đơn giản bằng Kotlin, Docker và docker-compose rồi hướng dẫn cho bạn

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

😄Kakao : Và thực ra, nếu đưa tính năng tracing này vào thì cũng 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, tốt, nhưng đa số lại không nhìn thấy những nhược điểm của nó

  • Trước chủ đề này, bạn nghĩ thế nào??

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


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 dữ liệu đó dưới dạng dữ liệu truy vết, đồng thời xem xét mối quan hệ giữa các dịch vụ để xác định vấn đề phát sinh trong quá trình đó và độ trễ nào đã xảy ra.

Trong khóa học này, bạn sẽ học cách xây dựng một hệ thống truy vết phân tán bằng cách kết hợp Grafana & Tempo & OpenTelemetry Collector, những công cụ tiêu biểu để giám sát các dịch vụ trong hệ thống phân tán.


Không phải là một khóa học 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 giúp bạn hoàn toàn làm chủ việc thiết kế dữ liệu tracing phân tán và các tính năng cốt lõi liên quan, đồng thời cùng xem xét quá trình xây dựng, viết mã và vận hành trong môi trường thực tế. 🚀

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

📌 Một khóa học ngắn gọn với thời lượng 4 giờ 30 phút nhưng cô đọng đầy đủ những nội dung cốt lõi, mang lại hiệu quả cao

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

📌 Hệ thống observability được các lập trình viên cấp cao thực sự triển khai và sử dụng trong công việc

* Bạn có thể học về những nền tảng mà ngay cả các nhà phát triển đang làm việc tại Kakao cũng không nắm rõ, như nội dung cuộc trò chuyện ở phần đầu, từ đó tạo được lợi thế khác biệt cho bản thân.

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

* Đây không phải là khóa học chỉ 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 đồ tuần tự và thêm cả tệp 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ụ mà còn cả khâu vận hành phía sau

* Chỉ viết mã thôi thì chưa thể được gọi là lập trình viên. Thông qua hệ thống truy vết phân tán này, bạn có thể học cách nhận biết những hạn chế của kiến trúc hiện tại, hiểu mối quan hệ giữa các dịch vụ và xử lý hiệu quả các sự cố 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 (tính đến 27/9) 👨‍🏫

🧑‍🎓 307 ⭐ 5.0

🧑‍🎓 379 ⭐ 4.9

🧑‍🎓 483 ⭐ 4.7

🧑‍🎓 239 ⭐ 4.8

Trong khóa học, chúng ta sẽ tìm hiểu những nội dung như sau. 🧩

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

* Khả năng tích hợp 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 microservice trong Tempo

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

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

* Toàn bộ kiến trúc của OpenTelemetry Collection và các thành phần chi tiết

* Xây dựng môi trường tinh gọn bằng Docker

* Tự động hóa không gian lưu trữ bằng Docker Volume Mount

* Thực hành!! Mọi phương pháp cấu hình trong phần lý thuyết đã học

Khóa học này phù hợp với những người sau đây 👨‍🏫

🎯 Hoan nghênh cả các nhà phát triển không chuyên ngành, dành cho những ai muốn tìm hiểu cách khắc phục sự cố trong kiến trúc MSA

🎯 Dành cho những ai tò mò về góc nhìn của các nhà phát triển tài năng khi họ đang cân nhắc những vấn đề nào

🎯 Nhà phát triển backend đang cân nhắc về việc mở rộng dịch vụ và hoạt động quan sát tương ứng tại các startup/doanh nghiệp lớn

Tài liệu nên xem cùng 🚀

Người tạo ra khóa học này 🤭

  • Bắt đầu từ một người không chuyên ngành, hiện đang là lập trình viên làm việc với vai trò nhà phát triển backend nền tảng tại Pangyo.

  • Mục tiêu là truyền đạt các phương pháp phát triển và tư duy phát triển thực tế, đồng thời là người chia sẻ kiến thức xây dựng khóa học cùng những người quen có năng lực xung quanh thay vì làm một mình.

  • Nhờ tích cực hoạt động, nhà chia sẻ kiến thức đã từng thực hiện buổi phỏng vấn trên Inflearn

  • Chuyên ngành Khoa học máy tính tại một trường đại học ở Seoul

  • Sau khi làm việc tại các tổ chức tài chính hàng đầu, hiện là lập trình viên đang làm việc tại Kakao với vai trò kỹ sư backend và kỹ sư dữ liệu

  • Lập trình viên cùng Hong xây dựng nhiều khóa học đa dạng, góp phần cung cấp kiến thức và môi trường thực tế.

  • Nhân tài quý giá duy nhất trong nhóm này hiện 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 phiên bản 2.33.1

  • IDE

    • IntelliJ IDEA, VS 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?

  • Nhà phát triển muốn áp dụng vào thực tiễn các vấn đề liên quan đến 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.

  • 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 để nâng cao độ ổ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 chúng

Xin chào
Đây là Hong

Xác minh Inflearn

Xác minh sự nghiệp

10,235

Học viên

609

Đánh giá

175

Trả lời

4.8

Xếp hạng

30

Các khóa học

Tôi bắt đầu học lập trình sau một thời gian dài lười biếng ở nhà và cảm thấy hứng thú với nó, hiện tại tôi đang đảm nhận việc phát triển máy chủ nền tảng (platform server) 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 khác nhau 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 ra 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 những người cộng sự.

 

[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] Nhà phát triển server đang làm việc lâu năm tại Pangyo

 

[Lịch sử phỏng vấn]

[Yêu cầu khác]

[Trang web chính thức]

Thêm

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ả

17 đánh giá

4.9

17 đánh giá

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

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

  • helle067523님의 프로필 이미지
    helle067523

    Đánh giá 26

    ∙

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    Cảm ơn bài giảng của bạn.

    • jhong
      Giảng viên

      Chào bạn Dolgorae Chukje, cảm ơn bạn đã để lại đánh giá tốt. Chúc bạn một ngày tốt lành!

  • kduoh님의 프로필 이미지
    kduoh

    Đánh giá 39

    ∙

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

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

    • sdl1355126님의 프로필 이미지
      sdl1355126

      Đánh giá 19

      ∙

      Đánh giá trung bình 5.0

      5

      91% đã tham gia

      Thật sự thành thật mà nói, nội dung quá tuyệt vời. Cảm ơn bạn.

      • jhong
        Giảng viên

        Xin chào keny, thành thật cảm ơn bạn rất nhiều 😊😊 Tôi sẽ cố gắng để có thể cung cấp những bài giảng bổ ích hơn nữa trong tương lai!!

    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!