마이크로 서비스 간 분산추적 with Zipkin

MSA 분산 추적 위 같이 마이크로서비스가 여러개 있을 경우, 각 서비스들간에 호출 체인이 일어납니다. 간단한 예로 이전 포스팅에서 통화 변환 서비스가 환율정보를 받아오기 위해서 환율 서비스의 API를 호출 했었죠. 마이크로 서비스들이 많아지면 많아질수록 이런 호출체인은 더 복잡해지겠죠. 그럼 상황에서 문제가 발생하기 마련입니다. 이렇게 발생하는 문제를 추적하고 분석할 수 있어야하는데 이를 위해 분산 추적을 사용합니다. 이미지와 같이 모든 마이크로서비스의 모든 정보를 분산 추적 서버로 보냅니다. 그리고 분산 추적 서버는 각 서비스에서 전송된 트레이스 데이터를 수집하고 이를 DB에 저장합니다. 이 데이터는 서비스 간 호출 정보, 요청의 시작 시간과 종료 시간, 응답 시간, 서비스 간의 관계, 그리고 각 단계에서 발생한 메타데이터(i.g. HTTP 상태 코드, 에러 등) 를 포함하고 있으며, 이를 기반으로 트랜잭션의 흐름이나 성능 병목 지점 등을 분석할 수 있습니다. ...

2024년 10월 8일 PM01:01 · PolarBear

Spring Cloud로 MSA 환경 구축해보기

본 포스팅을 하게 된 이유 현재 많은 기업에서 MSA를 사용하고 있습니다. 그렇기에 신입으로 취업하게 되면 막연하게 회사에 들어가서 학습하는 것보다는, “미리 공부를 하고 실무에 뛰어들면 업무에 원활하지 않을까?” 라는 생각이었고, 이를 위해 조만간 진행할 개인 프로젝트에서 MSA를 적용하여 구축해보자는 마음에 공부하게 되었습니다. MSA **MSA(Microservice Architecture)**는 애플리케이션을 여러 개의 독립적인 마이크로서비스로 나누어 개발하고 배포하는 아키텍처 스타일입니다. 각 마이크로서비스는 하나의 기능에 집중하고, 다른 서비스들과 독립적으로 동작하며 독립적으로 배포될 수 있습니다. 마이크로서비스들은 서로 API나 메시지 큐를 통해 통신하며 각각의 서비스는 자신만의 데이터 저장소와 로직을 관리합니다. ...

2024년 9월 30일 PM08:42 · PolarBear