본문 바로가기

좋아하는 것_매직IT/1.spring

36.Spring, MSA 에서 분산 디버깅을 할 수 있는 기법 및 기술을 알아보자.(feat. 스프링 클라우드 슬루스(Spring Cloud Sleuth))

반응형

블로그목적

스프링관련 MSA에서 분산 디버깅할 수 있는 기법에 대해서 공부 및 정리후 공유한다.

분산 디버깅

마이크로 서비스 아키텍처

복잡한 모놀리식 소프트웨어 시스템을 더 작고 다루기 쉬운 부분으로 분해하는 강력한 설계 패러다임.

즉, 독립적으로 빌드 / 배포할 수 있음.

but, 유연한 만큼 복잡함이 단점이라고 말할 수 있음.

마이크로 서비스는 기본적으로 분산되어 있음.

즉, 문제가 발생하면, 모놀리식 처럼 발생한 곳에서 디버깅하려는 것은 끔찍할 수 도...(ㅡ_ㅡ;;;;)

마이크로 서비스 디버깅의 해법

여러 서비스와 물리머신, 다양한 데이터 저장소 사이에서 하나 이상의 트랜잭션을 추적하고 정확한 상황을 종합하려고 노력해야 함.

다시 말해서, 마이크로 서비스 아키텍처에서는 분산 디버깅이 필수임!!!

그럼, 분산 디버깅에 대해서 주요 요점을 정리해보자.

하나, 상관관계 ID 를 사용해 서비스 사이의 트랜잭션을 서로 연결함.

둘, 서비스 사이의 로그 데이터를 검색 가능한 단일 소스로 수집함.

셋, 서비스 사이의 사용자 트랜잭션 흐름을 시각화

그럼, 잘알려진 분산 디버깅의 기술을 알아보자.

스프링 클라우드 슬루스(Spring Cloud Sleuth)

상관관계ID를 사용해 HTTP 호출을 측정하는 스프링 클라우드 프로젝트

생성 중인 추척 데이터를 오픈집킨(OpenZipkin)에 공급할 수 있는 훅(연결고리)을 제공함.

참고페이지

https://docs.spring.io/spring-cloud-sleuth/docs/current-SNAPSHOT/reference/html/

설명

Spring Cloud Sleuth provides Spring Boot auto-configuration for distributed tracing.

페이퍼 트레일(Papertrail)

여러 데이터 소스의 로그 데이터를 검색이 가능한 단일 데이터베이스로 수집하는 클라우드 기반의 freemium 서비스

여기서 잠깐!) freemium 서비스 란?

기본 서비스는 무료로 제공하고 추가 고급기능에 대해서는 요금을 받는 형태의 서비스를 말함.

참고페이지

https://www.papertrail.com/

집킨(Zipkin)

서비스 사이의 트랜잭션 흐름을 보여 주는 오픈 소스 기반의 데이터 시각화 도구

트랜잭션을 컴포넌트 별로 분해하고 성능 과열점(hotspot)이 어디서 발생했는지 시각적으로 확인할 수 있음.

여기서 잠깐!) hotspot 이란?

컴퓨터과학 분야에서 주로 실행된 명령어의 비율이 높거나 프로그램 실행시간의 대부분이 소요되는 영역을 말함.

참고페이지

https://zipkin.io/

설명

Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in service architectures.

결론

마이크로 서비스 아키텍처에서는 분산 디버깅기술이 필요함.

분산 디버깅 기술 중 거의 필수로 스프링 클라우드 슬루스에 대해서 알아두면 좋음.

스프링 클라우드 슬루스란 상관관계ID를 사용해 HTTP 호출을 측정하는 스프링 클라우드 프로젝트임

오늘도 스프링 클라우드 슬루스에 대한 지식 한가지 획득완료! 감사합니다.


오늘의 명언 한마디

월지급식 금융상품에 가입할 시 연금형 부동산과 비교해서 가입하는 게 좋다.

부동산은 매월 수익금을 받는데다가 원금이라 할 수 있는 부동산 실물도 남는다.

하지만, 연금형 금융상품은 금융시장 등락에 따라 원급이 훼손될 뿐만 아니라, 점차 사라지는 형태가 많다.

박상언 지음, "나는 주식보다 연금형 부동산이 좋다" 중에서...


오늘의 영어 한마디

Don't give up now!

포기하면 안돼!

I know. I'll give it my best.

알았어, 최선을 다해 볼께.

해설

"give up" 은 "포기하다"라는 의미

그외, give 로 시작하는 주요 숙어를 보면, 아래와 같음.

"give it a try" 는 "시험해 보다"

"give it my best" 는 "최선을 다해 보다 "


오늘의 민법 한마디

제2편 물권 / 제 1장 총칙

제191조(혼동으로 인한 물권의 소멸)

1. 동일한 물건에 대한 소유권과 다른 물권이 동일한 사람에게 귀속한 때에는 다른 물권은 소멸한다. 그러나 그 물권이 제삼자의 권리의 목적이 된 때에는 소멸하지 아니한다.

2. 전항의 규정은 소유권이외의 물권과 그를 목적으로 하는 다른 권리가 동일한 사람에게 귀속한 경우에 준용한다.

3. 점유권에 관하여는 전2항의 규정을 적용하지 아니한다.


오늘의 재무제표 공부 한마디

지분

기본적으로 두 종류의 지분(자산에 대한 청구권)이 있다.

하나, 부채라 부르는 채권자 및 대출자의 청구권

둘, 자본이라고 부르는 자산에 대한 소유주의 청구권 혹은 권리


목표

- 나의 강점을 바탕으로 나의 일을 잘해냄으로써 타인과 사회를 아릅답게 만든다.

- 현재 내가 가진 능력으로 누군가에 도움이 될 수 있을까? 에 대해서 항상 생각하기

- 나는 블로그 생태계에서 IT 테크관련 파워블로거및 인플루언서가 반드시 된다!

목표를 이루기 위한 실천방안

- 꾸준한 블로깅/기록법/독서법으로 넘버원이 아닌 온리원이 되보자.

- 천사불여일행(千思不如一行)을 항상생각하며 체화 및 각인시키자.

- "천번 생각하는것보다 한번 행동하는 것이 더 중요하다."

- 기기일약 불능십보(騏驥一躍 不能十步) / 노마십가 공재불사(駑馬十駕 功在不舍)

- 천리마도 한번에 열걸음을 뛸 수 없고, 느리고 둔한말이라도 열흘이면 하룻길을 간다.

- 모든 실수에는 마술이 숨어 있다. 따라서 나는 실수하면 실수할수록, 그런 실수에서 더 많이 배울수록 삶에서 더 많은 마술을 갖는다.

300x250