강의

멘토링

로드맵

NEW
개발 · 프로그래밍

/

백엔드

카카오 개발자가 알려주는 수백개의 MSA 서비스 아키텍처에서의 분산 추적 시스템 [ Feat: 카카오, 비전공자 ]

마이크로서비스 아키텍처(MSA) 환경에서 필수적인 Observability 구축 과정을 기초부터 실전까지 학습합니다. OpenTelemetry를 활용한 표준화된 데이터 수집, Grafana Tempo를 통한 트레이스 저장 및 검색, TraceQL을 활용한 시각화를 단계별 실습으로 익힙니다. 분산 트레이싱을 통해 서비스 흐름을 추적하고, 병목 지점을 파악하며, 장애 원인을 분석하는 과정을 학습 하실 수 있습니다.

53명 이 수강하고 있어요.

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

이런 걸 배울 수 있어요

  • OpenTelemetry와 Grafana Tempo를 활용한 마이크로서비스 간 요청 추적 및 성능 분석 기법

  • 도메인별 서비스 분리, 서비스 간 HTTP 통신, 시스템 설계

  • Docker Compose를 통한 멀티 컨테이너 환경 구성, 네트워크 관리 및 서비스 디스커버리

  • Grafana , Tempo, otel-collector를 통한 시스템 모니터링, 트레이싱 기반 운영

  • YAML 기반 설정 관리, 환경변수를 통한 서비스 구성 및 선언적 인프라 정의 방식

MSA 아키텍처에서 서비스들이 너무 많아서 미치겠어요. ㅠㅠ 🤔

❗이 내용은 실제 대화 내용입니다.❗

😄 Hong : 요즘 고민이되는 문제랑 좀 빡쌘게, MSA에서 서비스간에 결합도가 크다보니깐, 디버깅 하는게 너무 힘들어.. 이게 정상이야?

😁 Kakao : 뭐... 다들 로그 보고 메트릭정도 보고 아니면 환경이 잘 구축이 되어 있다면, 트레이싱도 확인하지 난 보통 트레이싱 보면서 디버깅 함

😄 Hong : Jaeger 말하는건가?? 부럽다 우리도 그런 시스템 구축되어 있다면, 디버깅하는데에 도임이 될텐데, 로그 보느라 눈이 빠지겟어 이제는

😄Kakao :ㅋㅋㅋㅋ 맞지 원래 로그만 보는 사람들이 많은데, 트레이싱이라는 개념도 알고 도입하면 진짜 좋아 서비스간에 관계도 보기 쉽고 흐름을 전반적으로 추적도 가능해서 난 이거 없으면 이제 못살아 ㅋㅋㅋ

😄Kakao : 한번 알려줄까?? 나도 좀 개인적으로 좋아하는 주제이기도 하고 구축하는것도 쉬운데 효과가 진짜 좋은 관찰 방법이라서

😄Kakao : 그리고 사실 이 트레이싱이라는 기능을 도입하면, MSA에서 발생하는 다양한 문제들도 해결이 가능해, MSA가 좋다 좋다 하는데, 사람들 대다수가 단점은 보지 않더라고

😄 Hong : 어 진짜?? 그러면 좀 알려주라 관련해서 다루어 보자 우리. 나도 다른 언어로 간단하게는 사용해봤는데, 실제 Grafana까지는 연동해보지는 않았거든

😄Kakao : 그럼 내가 간단하게, Kotlin, Docker, docker-compose 정도로 grafana랑 MSA 환경 정도 빠르게 구축하고 알려줄게

혹시 MSA 이런 아키텍처 환경에서의 관찰에 대한 모니터링은 어떻게 진행하고 계시나요?? 🤔

😄Kakao : 그리고 사실 이 트레이싱이라는 기능을 도입하면, MSA에서 발생하는 다양한 문제들도 해결이 가능해, MSA가 좋다 좋다 하는데, 사람들 대다수가 단점은 보지 않더라고

  • 앞선 이 주제에 대해서는 어떻게 생각하시나요??

"MSA라면 다양한 서비스만으로만 구성해서 분산해서 처리하면 되는거 아닌가요?? 독립적으로 구성이 되니깐 좋잖아요!!" 혹시 이렇게만 생각하고 계시나요?? 서비스가 성장해 가면서 어떤 부분을 고민해야 할지 이 질문에 대해서 한번 고민해 보시면 도움이 많이 되실꺼 같습니다.


답은 분산된 데이터를 통합하여 처리하고 (otel-collector) 이를 추적성 데이터로 표현을 하면서 서비스간에 관계를 보고 그 과정에서 어떤 문제가 있고 어떤 latency가 발생했는지에 있습니다.

이 강의에서는 이런 주제에 대해서 분산 시스템에서 대표적으로 서비스들을 모니터링 할 수 있는 Grafana & Tempo & OpenTelemetry Collector를 조합하여 분산 추적 시스템을 구축하는 방법에 대해서 학습하시게 됩니다.


이론만 나열하는 지루한 강의나 아니라, 실제 환경을 구축하고 작성하고 동작하는 과정을 함께 살펴보면서 분산 트레이싱 데이터에 대한 설계와 그에 따른 핵심 기능을 완벽하게 정복하는 실전형 가이드로써 준비해 보았습니다. 🚀

이 강의의 특징

📌 4.30 분량의 짧은 강의면서, 핵심만을 모두 녹인 효율적인 강의

* 마냥 강의 시간이 길다고 좋지 않습니다. 여러분들이 아셔야 하는 부분들에 대해서만 핵심적으로 다루고, 실제 트레이싱 데이터도 확인 할 수 있는 실습과정까지 이 짧은 시간에 핵심적인 주제만을 담았습니다.

📌 실제 시니어 개발자가 실무에서 도입하여 사용하는 관찰 시스템

* 처음에 있는 대화 내용처럼 Kakao를 다니는 개발자들도 잘 모르는 플랫폼에 대해서 학습하시며 그에 따른 차별점을 가지실 수 있습니다.

📌 수십개의 다이어그램, 강의 요약 파일 풍부한 강의 구성

* 단순히 말만으로 설명하는 강의가 아니라, 실제 소스코드, 다이어그램, 시퀀스그램, 추가로 강의 내용에 대한 간단한 요약본 파일도 제공해 드리고 있습니다.

📌 단순 서비스 개발이 아닌 그 너머에 있는 운영까지

* 코드만 작성을 하는 사람은 개발자가 아닙니다. 현재 구현된 아키텍처의 단점을 인지하고 서비스간의 관계를 이해하며 이 과정에서 발생하는 트러블 슈팅을 효과적으로 진행 할 수 있는 방법을 이 분산 추적 시스템을 통해서 학습 가능합니다.

이전 강의를 통해 입증된 전문성 (9.27 기준) 👨‍🏫 

🧑‍🎓 3075.0

🧑‍🎓 3794.9

🧑‍🎓 4834.7

🧑‍🎓 2394.8

강의에서는 이런 내용을 다루고 있어요. 🧩 

* Grafana가 무엇인지 왜 사용해야 하는지

* Tempo와 Grafana의 연동 가능성

* 분산 추적 데이터의 구조와 시각화 원리

* 분산 Tracing 관경에서의 디버깅 상관 구조

* Tempo에서의 마이크로서비스 아키텍처

* Tempo의 블록기반 저장 메커니즘

* Tempo전용 쿼리 TraceQL과 성능 최적화

* OpenTelemetry Collection의 전체 아키텍처와 그 세부적인 컴포넌트

* Docker를 활용환 경량화된 환경 구축

* Docker의 Volume Mount를 활용한 공간 자동화

* 실습!! 배운 이론에 모든 모든 설정 방법

이런 분들에게 추천드려요 👨‍🏫 

🎯 비전공자 개발자도 환영하고, MSA 아키텍처에서의 트러블 슈팅 방법이 궁금하신 분들

🎯 실력있는 개발자는 어떤 부분을 고민하고 있는지 그 관점이 궁금하신 분들

🎯 스타트업/대기업의 서비스 확장과 그에 따른 관찰을 고민하는 백엔드 개발자

이 강의가 특별한 이유

📌 50개의 쿠폰을 제공하는 이벤트

강의 얼리버드할인 기간에 구매해주시는 분들에 한해서 50명을 선별하고, 그에 따라 50% 쿠폰을 1개씩 제공해 드리고자 합니다

같이 보면 좋은 자료 🚀 

이 강의를 만든 사람 🤭

  • 비전공자로 시작하였고, 현재는 판교에서 플랫폼 백엔드 개발자로 근무하고 있는 개발자

  • 현실적인 개발 방식과 개발론을 알려드리는 것이 목표이고, 혼자가 아닌 주변 능력있는 지인들과 함께 강의를 만드는 지식 공유자

  • 열심히 활동한 덕분에 인프런에서 인터뷰 진행해 본 지식 공유자

  • 인서울 대학에서 컴퓨터 공학을 전공한 전공자

  • 제 1금융권을 거쳐 현재는 카카오에서 백엔드 및 데이터 엔지니어로 개발하고 있는 개발자

  • Hong과 함께 다양한 강의를 만들고 현실적인 지식과 환경을 제공하는데 이바지하고 있는 개발자

  • 유일하게 지금 이 팀에서 Workflow 써본 경험이 있는 귀한 인재

참고 사항

실습 환경

  • 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 version 2.33.1

  • IDE

    • IntelliJ IDEA, vsCode

  • OS

    • Apple M3 Air

이런 분들께
추천드려요

학습 대상은
누구일까요?

  • 마이크로서비스 설계, 분산 시스템 구축 및 서비스 간 통신에 대한 문제점을 실무에 적용하고자 하는 개발자

  • 컨테이너 오케스트레이션, 모니터링 시스템 구축을 담당하는 운영 전문가

  • 확장 가능한 분산 시스템 설계, 관찰성 구현 및 마이크로서비스 전환을 계획하는 설계자

  • 시스템 안정성 향상, 성능 모니터링 및 장애 대응을 위한 관찰성 도구 활용이 필요한 엔지니어

  • 현대적인 분산 시스템의 문제와 극복 방법을 학습하려는 개발자

안녕하세요
입니다.

3,174

수강생

212

수강평

86

답변

4.6

강의 평점

16

강의

자기 소개

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

 

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

 

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

 

지식공유자 경력

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

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

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

 

인터뷰 이력

커리큘럼

전체

22개 ∙ (4시간 31분)

해당 강의에서 제공:

수업자료
강의 게시일: 
마지막 업데이트일: 

수강평

아직 충분한 평가를 받지 못한 강의입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!

얼리버드 할인 중

₩39,600

50%

₩79,200

Hong님의 다른 강의

지식공유자님의 다른 강의를 만나보세요!

비슷한 강의

같은 분야의 다른 강의를 만나보세요!