외부 서비스를 사용한 애플리케이션 종속성 추적

Published 2분 소요

외부 서비스는 어디에서나 찾아볼 수 있습니다. 스마트 스피커에게 “잘자”라고 말하면, 집안 조명이 꺼지고 문단속이 되며 강아지도 잠자리에 듭니다. (마지막은 아직 희망 사항일 뿐입니다.) 스마트 홈 장치를 연결하는 API에서 최신 애플리케이션을 지원하는 마이크로서비스까지, 모든 것이 제대로 작동하면 마치 마법을 부린 것처럼 느껴질 수 있습니다.

그러나 뭔가 잘못되면 그 마법은 순식간에 사라지고 어떤 API 호출이, 아니면 어떤 타사 서비스가 문제를 일으키는지 파악해야 합니다. 문제가 있는 위치를 알고 있으면 분산 추적으로 문제를 해결할 수 있겠지만, 어디를 봐야 할지 모를 때는 어떻게 해야 할까요?

애플리케이션들이 의존하는 API와 마이크로서비스의 문제를 신속하게 식별할 수 있도록 뉴렐릭이 새로운 버전의 외부 서비스 대시보드를 출시한 것도 바로 이러한 이유 때문입니다.

문제를 신속하게 식별할 수 있도록 해주는 맵 뷰

외부 서비스에서 가장 먼저 보게 되는 것은 맵 뷰(map view)입니다. 맵 뷰는 모든 서비스를 포괄적으로 조회하는 데 적합합니다.

이전 이미지는 맵 뷰입니다. 업스트림 종속성이라고도 불리는 애플리케이션의 종속성이 왼쪽에 표시되고, 오른쪽에는 다운스트림 서비스 즉, 애플리케이션에 의존하는 서비스들이 표시됩니다. 각 서비스의 상태와 처리량, 소비되는 시간을 확인할 수 있습니다. 원하는 서비스를 선택하면, 더 자세한 정보를 볼 수 있습니다.

비교 및 정렬을 위한 목록 뷰

리스트 뷰(list view)는 모든 서비스가 표시되며, 응답 시간, 호출 수, 오류 수를 기준으로 정렬할 수 있습니다. 또한 어제 또는 1시간 전과 비교하여 서비스의 응답 시간, 처리량 및 오류율이 어떻게 변했는지를 확인할 수 있습니다. 변경 사항은 백분율로 표시됩니다.

새롭고 향상된 추적

새로운 외부 서비스 버전은 교차 애플리케이션 추적이 아니라분산 추적을 사용합니다. 분산 추적은 애플리케이션 간 추적보다 다양한 서비스에서 더 유용한 데이터를 수집할 수 있기 때문에, 요청들이 어떻게 마이크로서비스 기반 애플리케이션을 통과하는지를 빠르게 이해할 수 있습니다.