Core Concepts
마이크로서비스 아키텍처의 설계 및 개발에 있어 발생할 수 있는 문제점을 탐지하기 위해 Spring Cloud 기반 마이크로서비스 시스템의 특징 데이터셋을 구축하였다.
Abstract
마이크로서비스 아키텍처는 서비스 지향 소프트웨어 산업에서 주도적인 아키텍처 스타일이 되었다.
마이크로서비스 기반 시스템의 설계 및 개발에 있어 발생할 수 있는 문제점을 '마이크로서비스 나쁜 냄새'라고 한다.
마이크로서비스 나쁜 냄새 연구에서는 마이크로서비스의 특징 데이터에 의존하지만, 적절한 오픈소스 마이크로서비스 특징 데이터셋이 부족한 실정이다.
이 논문에서는 Spring Cloud 기반 다수의 오픈소스 마이크로서비스 시스템을 수집하고, Spring Boot 스타일 마이크로서비스의 아키텍처와 상호작용을 기반으로 특징 지표를 수립하였다.
추출 프로그램을 개발하여 수집된 오픈소스 마이크로서비스 시스템에 적용하고, 수동 검증을 거쳐 Spring Cloud 기반 마이크로서비스 시스템을 위한 오픈소스 특징 데이터셋을 구축하였다.
이 데이터셋과 추출 프로그램은 마이크로서비스 나쁜 냄새 연구에 기여할 것으로 기대된다.
Stats
마이크로서비스 시스템의 유효 소스코드 행수는 대부분 낮은 범위에 집중되어 있지만, 일부 대규모 마이크로서비스 시스템에서 상당한 수준의 이상치가 관찰되었다.
마이크로서비스 간 호출 관계를 정확하게 추출하는 데 어려움이 있었으며, 일부 오픈소스 마이크로서비스 시스템의 통신 방식이 WebClient로 업데이트되어 이를 감지하지 못하는 경우가 있었다.
엔티티 클래스 탐지 과정에서도 일부 오류가 발생했는데, 이는 비표준화된 패키지 명명 규칙이나 공통 프로젝트에서 상속된 엔티티 클래스의 속성을 누락하는 등의 이유 때문이었다.