공부/스프링으로 하는 마이크로서비스 구축
chap1-1. 마이크로서비스 정의와 문제점
명에
2021. 6. 26. 16:55
마이크로서비스 정의
- 빠르게 개발해 지속적으로 배포할 수 있는 것
- 수동 혹은 자동으로 쉽게 스케일링할 수 있는 것 : 독립 컴포넌트
독립 컴포넌트 기준
- 아무것도 공유하지 않는 아키텍처 유지
- 명확한 인터페이스 사용, 문서화 필요 : 동기 서비스 / API 메시징 방식
- 개별 런타임 프로세스 배포
- 마이크로서비스 인스턴스는 stateless이므로 모든 인스턴스가 요청 처리 가능
* stateless는 과거 트랜잭션 정보/참조가 저장되지 않아 처음부터 시작하는 것을 말합니다.
마이크로서비스 문제
- 동기식 통신 사용시 컴포넌트 간 연쇄 장애가 발생할 수 있다.
- 많은 수의 컴포넌트를 최신 상태로 유지하는 것은 어렵다.
- 많은 컴포넌트가 처리에 관여하는 요청은 로그 분산으로 인해 추적하기 어렵다.
- 컴포넌트 수준의 HW 자원 사용량 분석이 어렵다.
- 컴포넌트를 수동으로 구성/관리하는 건 비용이 많이 들고 오류 발생이 쉽다.