[SW 아키텍처] MSA(MicroServices Architecture)
https://claremont.tistory.com/entry/SW-Architecture-Monolithic-Architecture%EB%AA%A8%EB%86%80%EB%A6%AC%EC%8B%9D-%EC%95%84%ED%82%A4%ED%85%8D%EC%B2%98 [SW Architecture] 모놀리식 아키텍처(Monolithic Architecture)가장 전통적인 소프트웨어
claremont.tistory.com
1. MSA 설계
[MSA 설계 기준]
1. Tightly 하게 scope 되고
2. 강하게 캡슐화되고
3. 유연하게 coupled 되고
4. 독립적으로 배포 가능하고
5. 독립적으로 스케일링 가능한 서비스
[MSA 목적]
- Agile 하게 개발
- 유연하고 빠른 배포
- 정밀한 스케일링
<필수 기술요소>

2. MSA 개발(w/Java)
Java에서는 Spring Boot, Spring Cloud, API Gateway 등의 기술을 활용하여 MSA를 구현할 수 있다!
① Microservice 개발: 개별 서비스의 API를 정의하고, RESTful API를 제공하는 애플리케이션을 개발
(Spring Boot 기반의 Microservice 개발)
- RESTful API를 제공하는 서비스 개발
- Swagger(SPRING REST Docs)를 이용한 API 문서 자동화
- 독립적으로 배포 가능한 서비스 구조 설계
e.g. UserService와 같은 마이크로서비스를 생성하여 사용자 정보를 제공하는 REST API 구축
② Microservice 등록 및 활용: Service Registry를 활용하여 동적 서비스 검색(discovery) 및 로드 밸런싱(load balancing)을 수행
- Eureka, Consul, Zookeeper 등을 활용하여 서비스 레지스트리 구축
- 서비스가 실행될 때 동적으로 Service Registry에 등록되고 검색 가능하도록 설정
- 로드 밸런싱을 통한 안정적인 서비스 호출
③ Microservice 재사용: Spring Initializr를 활용하여 자동 설정(Configuration) 및 재사용성을 높일 수 있다
- Spring Initializr를 활용한 프로젝트 생성
- Cross Cutting Concern 처리: 보안, 로깅, 설정 관리 등의 공통 기능 적용
e.g. DB 연결 및 공통 설정을 위한 database-service 모듈 생성 및 재사용
④ Microservice 관리: API Gateway를 통해 통합 관리
API Gateway는 클라이언트와 서비스 간의 진입점 역할을 수행하며, 보안 및 트래픽 관리 기능을 제공한다
- API Gateway (Apigee, Spring Cloud Gateway, Kong 등) 활용
- 인증, 로깅, 트래픽 관리 기능 제공
- API 문서 및 분석(Analytics) 기능 지원
e.g. Apigee API Gateway를 활용하여 모든 API 호출을 관리하고 인증/보안 기능 적용
(요약) Java 기반으로 마이크로서비스 아키텍처를 구축하는 과정은 다음과 같은 주요 단계를 거친다
① Microservice 개발: 개별 서비스 개발 및 API 문서화
② Microservice 등록 및 활용: 서비스 검색 및 로드 밸런싱
③ Microservice 재사용: 공통 기능 적용 및 설정 자동화
④ Microservice 관리: API Gateway를 통한 서비스 관리 및 모니터링
Java(Spring Boot, Spring Cloud) 환경에서는 이와 같은 구조를 쉽게 구축할 수 있으며, 다양한 마이크로서비스를 효율적으로 관리하고 확장할 수 있다. 이를 통해 유연하고 확장성이 높은 애플리케이션을 개발할 수 있다!
'SW 아키텍처' 카테고리의 다른 글
[SW 아키텍처] DT 플랫폼으로써 PaaS, Terminology? (0) | 2025.02.19 |
---|---|
[SW 아키텍처] 클라우드 네이티브 아키텍처(Cloud-Native Architecture) (0) | 2025.02.19 |
[SW 아키텍처] MSA로의 점진적 마이그레이션 전략 (0) | 2025.02.19 |
[SW 아키텍처] MSA(MicroServices Architecture) (0) | 2025.02.18 |
[SW 아키텍처] 모놀리식 아키텍처(Monolithic Architecture) (0) | 2025.02.18 |