326
이벤트 기반 마이크로서비스 구축
만약 그렇다면 얼마나 많은 데이터가 필요한가?
●
성능, 부하, 처리량, 확장도 테스트를 해야 하나?
●
완전한 통합 테스트용 솔루션을 자체 개발하지 않고도 내가 작성한 마이크로서비스를 통
합 테스트하고 싶으면 어떻게 해야 하나?
여러분이 이런 질문에 스스로 답을 찾기 위해 필요한 지식을 다음 절부터 하나씩 살펴보겠습
니다.
15.6
로컬 통합 테스트
로컬 통합 테스트
local
integration
test
는 광범위한 기능/비기능 테스트를 할 수 있습니다. 이 테스트
는 마이크로서비스를 배포할 프로덕션 환경의 로컬 레플리카를 주로 사용합니다. 이 말은 적어
도 이벤트 브로커, 스키마 레지스트리, 마이크로서비스별 데이터 저장소, 마이크로서비스 자
체, 그밖의 대용량 프레임워크나
FaaS
사용 시 필요한 모든 처리 프레임워크를 전부 생성함을
의미합니다. 컨테이너화
containerization
, 로깅,
CMS
도 도입할 수 있지만 마이크로서비스의 비즈니
스 로직과 크게 연관성은 없으므로 반드시 필요한 것은 아닙니다.
로컬에서 제어할 수 있는 자체 환경을 구축하면 각 시스템을 독립적으로 제어할 수 있는 큰 장
점이 있습니다. 간헐적 장애, 비순차 이벤트, 네트워크 차단 등 실제 프로덕션 상황을 프로그래
밍 방식으로 그대로 옮겨놓은 셈이라서 비즈니스 로직과 프레임워크가 제대로 연계되는지 시
험할 수 있습니다. 또 로컬 통합 테스트는 코파티션 및 상태와 연관된 기본적인 수평 확장 기능
도 테스트해볼 수 있습니다.
동일한 ...