마스터링 분산 추적 (마이크로서비스 기반 아키텍처의 성능 분석과 관리를 위한 분산 트레이싱)

마스터링 분산 추적 (마이크로서비스 기반 아키텍처의 성능 분석과 관리를 위한 분산 트레이싱)

$32.10
Description
《마스터링 분산 추적》은 자체 추적 인프라를 운영하고 향상시키는 데 도움을 줄 것이다. 실습과 코드 예제를 통해 종단 간 추적을 강력한 애플리케이션 성능 관리 및 이해 도구로 사용하는 방법을 배운다.

구글(Google) 및 아마존(Amazon)과 같은 대규모 인터넷 회사의 성장은 여러 데이터 센터에 걸쳐있는 수천 개의 노드에서 운영되는 분산 시스템의 새로운 시대를 열었다. 또한 마이크로서비스는 그 복잡성을 기하급수적으로 증가시켰다. 이러한 시스템을 디버깅하거나 장애를 추적하거나 병목 현상을 감지하는 것은 쉽지 않으며, 단순히 무슨 일이 일어나고 있는지조차 이해하기 어렵다. ‘분산 추적’은 복잡한 분산 시스템에서 이러한 문제를 해결하는 데 중점을 둔다. 현재 추적 표준이 개발됐고, 덕분에 계측하는 데 덜 방해되고 데이터를 더 가치 있게 만드는 더 빠른 시스템을 갖게 됐다.

널리 사용되는 오픈소스 분산 추적 시스템인 예거(Jaeger)의 창립자인 유리 슈쿠로(Yuri Shkuro)는 《마스터링 분산 추적》에서 이 분야의 모든 면을 다룬다. 또한 추적의 역사와 이론적 토대를 검토하고, 오픈트레이싱(OpenTracing), W3C 추적 컨텍스트(Trace Context), 오픈센서스(OpenCensus)와 같은 개방형 표준으로 코드 계측을 통해 데이터 수집 문제를 해결하며, 복잡한 시스템을 이해하고 프로파일링하기 위한 분산 추적 인프라의 장점과 그 응용에 관해 논의한다.

★ 이 책에서 다루는 내용 ★

◎ 분산 추적 시스템을 처음 사용하는 방법
◎ 종단 간 추적에서 최대 가치를 얻는 방법
◎ 분산 추적 분야의 개방형 표준
◎ 코드 계측 및 추적 인프라 운영
◎ 분산 추적이 핵심 기능으로서 마이크로서비스의 어느 부분에 적합한지 학습
저자

유리슈쿠로

우버테크놀로지스(UberTechnologies)의소프트웨어엔지니어로분산추적,관찰성,신뢰성,성능을연구하고있다.우버의추적팀기술책임자다.우버이전에월가(WallStreet)에서15년간투자은행인골드만삭스(GoldmanSachs),JP모건체이스(JPMorganChase),모건스탠리(MorganStanley)에서파생상품에대한거래및위험관리시스템을구축했다.

목차

[1부]들어가는말

▣1장:왜분산추적인가?
마이크로서비스와클라우드네이티브애플리케이션
관찰성이란무엇인가?
마이크로서비스의관찰성문제
기존모니터링도구
지표
로그
분산추적
추적에대한개인적경험
이책을쓴이유
정리
참고자료

▣02장:HotROD승차추적하기
사전요구사항
__미리패키징된바이너리에서실행
__도커이미지로실행
__소스코드로실행
예거시작
HotROD와의만남
아키텍처
데이터흐름
문맥이있는로그
스팬태그대로그
지연시간의원인파악
자원사용량귀속
정리
참고자료

▣3장:분산추적의핵심
아이디어
요청상관관계
__블랙박스추론
__스키마기반
__메타데이터전파
분산추적의내부구조
샘플링
인과관계보존
__요청간인과관계
추적모델
__이벤트모델
__스팬모델
시간차이조정
추적분석
정리
참고자료

[2부]데이터수집문제

▣04장:오픈트레이싱을이용한계측기초
사전요구사항
__프로젝트소스코드
__Go개발환경
__자바개발환경
__파이썬개발환경
__MySQL데이터베이스
__쿼리도구(curl또는wget)
__추적백엔드(예거)
오픈트레이싱
실습1:Hello애플리케이션
__Go로작성한Hello애플리케이션
__자바로작성한Hello애플리케이션
__파이썬으로작성한Hello애플리케이션
__실습정리
실습2:첫번째추적
__1단계:트레이서인스턴스생성
__2단계:스팬시작
__3단계:스팬에주석달기
__실습정리
실습3:함수추적과컨텍스트전달
__1단계:개별함수추적
__2단계:복수스팬을단일추적으로결합
__3단계:프로세스내컨텍스트전파
__실습정리
실습4:RPC요청추적
__1단계:단일아키텍처분해
__2단계:프로세스간컨텍스트전달
__3단계:오픈트레이싱추천태그적용
__실습정리
실습5:배기지사용
__Go에서배기지사용하기
__자바에서배기지사용하기
__파이썬에서배기지사용하기
__실습정리
실습6:자동계측
__Go를이용한오픈소스계측
__자바를이용한자동계측
__파이썬을이용한자동계측
실습7:추가혜택
정리
참고자료

▣05장:비동기애플리케이션의계측
사전요구사항
__프로젝트소스코드
__자바개발환경
__카프카,주키퍼,레디스,예거
TracingTalk채팅애플리케이션
__구현
__애플리케이션실행
__추적관찰
오픈트레이싱을사용한계측
__스프링계측
__트레이서리졸버
__레디스계측
__카프카계측
비동기코드계측하기
정리
참고자료

▣06장:추적표준과에코시스템
계측스타일
배포및상호운용성추적의내부
추적의다섯가지그림자
대상파악
에코시스템
__추적시스템
__X-Ray,스택드라이버,기타도구
__표준프로젝트
정리
참고자료

▣07장:서비스메시를이용한추적
서비스메시
서비스메시를통한관찰성
사전준비사항
__프로젝트소스코드
__자바개발환경
__쿠버네티스
__이스티오
Hello애플리케이션
이스티오를이용한분산추적
이스티오를이용한서비스그래프생성
분산컨텍스트와라우팅
정리
참고자료

▣08장:샘플링의모든것
헤드기반의일관된샘플링
__확률적샘플링
__속도제한샘플링
__처리량보장확률적샘플링
__적응형샘플링
__컨텍스트-맞춤형샘플링
__애드혹샘플링과디버그샘플링
__오버샘플링처리방법
테일기반의일관성있는샘플링
부분샘플링
정리
참고자료

[3부]추적에서가치얻기

▣09장:등불켜기
지식기반으로서의추적
서비스그래프
__깊이있는경로인지형서비스그래프
__아키텍처상의문제점탐지
성능분석
__임계경로분석
__추적패턴의인식
__모범사례
__지연시간히스토그램
롱텀프로파일링
정리
참고자료

▣10장:분산컨텍스트전파
브라운추적플레인
피벗추적
카오스엔지니어링
트래픽레이블링
__운영환경에서테스트하기
__운영환경에서디버깅하기
__운영환경에서개발하기
정리
참고자료

▣11장:메트릭과로그의통합
관찰성의세가지구성요소
준비사항
__프로젝트소스코드
__자바개발환경
__도커에서서버실행하기
__키바나에서인덱스패턴선언하기
__클라이언트실행하기
Hello애플리케이션
메트릭과의통합
__추적계측을통한표준메트릭
__메트릭에컨텍스트추가하기
__컨텍스트인지메트릭API
로그와의통합
__정형로그
__추적컨텍스트와로그의연동
__컨텍스트인지로깅API
__추적시스템에서로그캡처하기
__로깅과추적백엔드를분리해야할까?
정리
참고자료

▣12장:데이터마이닝을이용한통찰
피처추출
데이터마이닝파이프라인의구성요소
__추적백엔드
__추적완료트리거
__피처추출기
집계연산기
피처추출예제
준비사항
__프로젝트소스코드
__도커에서서버실행하기
__엘라스틱서치에서인덱스매핑정의하기
__자바개발환경
__마이크로서비스시뮬레이터
__키바나에서인덱스패턴정의하기
스팬카운트잡
__추적완료트리거
__피처추출기
트렌드관측
__외삽법계산에주의하라
이력분석
임시(Ad-hoc)분석
정리
참고자료

[4부]추적인프라의배포와운영

▣13장:대규모조직에서의추적구현
추적계측의배포가어려운이유
도입장벽을낮춰라
__표준프레임워크
__인하우스어댑터라이브러리
__기본으로활성화된추적
__모노리포
__기존인프라와의통합
어디서부터시작할까?
문화조성
__가치설명하기
__개발자워크플로와의통합
TQM:추적품질메트릭
문제해결가이드
임계경로를피하라
정리
참고자료

▣14장:분산추적시스템의내부구조
왜직접호스팅하는가?
__사용자맞춤형작업통합
__대역폭비용
__데이터소유
최신표준에투자하라
아키텍처와배포모드
__기본아키텍처:에이전트+수집기+쿼리서비스
__스트리밍아키텍처
__멀티테넌시
__보안
__여러데이터센터에서실행
모니터링및문제해결
탄력성
__오버-샘플링
__추적디버깅
__데이터센터페일오버로인한급격한트래픽증가
__끊임없이계속되는추적
__매우긴추적
정리
참고자료

▣맺음말

▣참고자료