본문 바로가기

Tracing3

[MSA] Spring Cloud Sleuth와 Zipkin을 이용한 분산 시스템 Tracing_2 안녕하세요. 오늘은 저번 포스팅에 이어서 Zipkin과 Sleuth를 연동하여 구현해보겠습니다. sleuth로 id를 주입하여 zipkin에서 취합여 보기좋게 트레이싱 하는 것 까지 입니다. 오늘 이 테스트를 진행하기 위해서는 2개의 프로젝트가 필요합니다. 그리고 오늘 프로젝트의 소스는 github에 올려두겠습니다. Zipkin과 Sleuth 연동 zipkin에서 데이터를 모으기 위한 시퀀스 다이어그램은 아래와 같습니다. 보시면 sleuth에서 trace에 대한 ID를 헤더에 기입하며, 타 시스템어 전송 후 돌아온 응답에 대해서 zipkin으로 비동기로 전송합니다. 이렇게 zipkin에 보내진 데이터는 취합되어 유저에게 보여주게 되는것입니다. 그렇다면 이제 본격적으로 구현해보도록 하겠습니다. Zipkin.. 2019. 12. 7.
[MSA] Spring Cloud Sleuth와 Zipkin을 이용한 분산 시스템 Tracing_1 안녕하세요. 오늘은 Spring Cloud Sleuth와 Zipkin을 이용한 분산 시스템 Tracing을 하는 방법에 대해서 실습해보도록 하겠습니다. Zipkin Zipkin은 분산 트레이싱 시스템입니다. Zipkin은 시간 데이터를 모아 시간 지연 문제등을 해결할 수 있습니다. 로그 파일에 Tracing ID가 있다면 해당 ID를 통해 바로 이동할 수 있으며, 그렇지 않다면 서비스, Tag 등의 쿼리 기반으로 처리할 수 있습니다. 아래는 Zipkin의 UI화면입니다. Tracing을 해보기 위해서 Zipkin을 설치해보도록하겠습니다. 혹시 Zipkin에 대해 아키텍처적으로 궁금하신 분들은 https://zipkin.io/ 공식사이트를 방문하셔서 확인하시면 될 것같습니다. 설치 & 실행 https://.. 2019. 12. 5.
[MSA] MSA의 로깅과 트레이싱 안녕하세요. 오늘부터는 새로운 주제로 찾아뵙게 되었습니다. 바로 MSA입니다. 저희 회사에서 저는 요즘 프로젝트를 MSA의 기술들을 적용해가며 진행하고 있습니다. 오늘은 MSA의 기술 중 로그관리와 트레이싱에 대해서 한번 알아보도록 하겠습니다. MSA의 개념에 대한 설명은 추후에 따로 준비하도록 하겠습니다. ^^ 문제 제기 MSA(Micro Service Architecture)는 분산 환경에서 운영된다는 특징 때문에 각각의 서비스에 대한 로깅과 모니터링은 큰 고민거리로 남겨지게 됩니다. 서로 다른 개별 마이크로서비스(서버)에서 발생하는 로그를 연결지어 트랜잭션의 처음부터 끝까지 추적을 해내어야 하는데 이것은 쉽지않은 일입니다. 아래는 스프링 5.0 마이크로서비스 2/e에서 발췌한 내용입니다. 전통적인 .. 2019. 12. 4.