본문 바로가기
아키텍처 | 설계

MSA 모니터링 / 장애전파 / 테스트

by 자유코딩 2020. 6. 7.

테스트 종류

유닛 테스트: 함수 단위의 테스트

통합 테스트: api 요청 후 db insert 까지 테스트 하는 것

E2E 테스트: 사용자입장에서 end to end 테스트

스모크 테스트: QA 가 의미 없는 테스트를 하지 않도록 프로그램이 돌아가는지 테스트

 


테스트에서의 서비스 주도 계약 - CDC ( Consumer Driven Contract )

서비스의 기대사항을 작성한다.

소비자가 어떻게 사용할지를 작성한다.

엔드 투 엔드 테스트에 드는 비용을 줄일 수 있다.

// 고객은 주문 항목을 장바구니에 담을 수 있어야한다.
// 장바구니에 담은 항목은 결제 할 수 있어야 한다.
// 고객은 장바구니에서 수량을 조절 할 수 있어야 한다.
// ...
...
...

 

모니터링 문제

모놀리틱 서비스는 모니터링 하기 쉽다.

마이크로 서비스에서 장애 지점을 찾는 것은 모놀리틱 서비스보다 어렵다.

로그를 통해서 모니터링 문제를 해결한다.

 

키바나와 로그 스태쉬를 활용할 수 있다.

키바나는 로그를 보기 위한 시스템이다.

로그 스태쉬는 데이터 수집 엔진이다.

 

로그 스태쉬를 통해서 한 곳에 로그를 모은다.

키바나를 사용해서 검색하고 확인한다.

 

시스템의 행동 방식에 대한 측정 지표를 수집 할 수 있다.

 

장애 전파 막기

서킷 브레이커 패턴을 도입한다.

spring 에서는 히스트릭스, 오픈 소스 솔루션으로는 istio 같은 것이 있다.

 

댓글