더북(TheBook)

1.9.5 마이크로서비스 로깅 및 추적 패턴

마이크로서비스 아키텍처의 장점은 모놀리식 애플리케이션이 작은 기능 단위로 분해되어 독립적으로 배포된다는 것이다. 마이크로서비스의 단점은 애플리케이션과 서비스 안에서 어떤 일이 일어나고 있는지 디버깅과 추적이 훨씬 더 어렵다는 것이다.

이러한 이유로 세 가지 핵심 로깅 및 추적 패턴을 살펴볼 것이다.

로그 상관관계(log correlation): 단일 트랜잭션에 대해 여러 서비스 간 생성된 모든 로그를 함께 연결하는 방법은 무엇인가? 이 패턴을 이용해 상관관계 ID를 구현하는 방법을 살펴볼 것이다. 이 ID는 한 트랜잭션에서 발생하는 모든 서비스 호출 사이에 전달되는 고유 식별자이며 각 서비스에서 출력하는 로그 항목을 함께 묶는 데 사용된다.

로그 수집(log aggregation): 이 패턴으로 서비스(개별 인스턴스)에서 생성된 모든 로그를 질의(query) 가능한 단일 데이터베이스로 취합하는 방법을 살펴볼 것이다. 그리고 상관관계 ID로 수집된 로그 검색을 지원하는 방법도 살펴볼 것이다.

마이크로서비스 추적(microservice tracing): 끝으로 트랜잭션과 연관된 모든 서비스에서 클라이언트 트랜잭션 흐름을 시각화하고 트랜잭션과 관련된 서비스의 성능 특성을 이해하는 방법을 살펴볼 것이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.