728x90
독립적으로 동작하는 다수의 작은 서비스들이 상호 협업하는 구조의 아키텍처
기존 모놀리식 (Monolithic) 아키텍처와 같이 하나의 서비스로 되어 있는 구조에서 기능을 수정하거나 추가할 경우 해당 코드들이 기존의 코드들에 영향을 미칠 수 있고, 이는 점점 더 시스템의 유지 보수를 어렵게 한다.
반면, 마이크로 서비스 (Microservice) 아키텍처는 내부적으로 다수의 작은 서비스들을 가지고 있고, 각 서비스들은 상호협업 한다.
각 서비스들은 독립적이고, 자율성을 가지기 때문에 기능이 수정되거나 추가되더라도 기존 다른 서비스에 미치는 영향은 제한적이다.
(각 서비스들은 네트워크 호출을 통해 통신하기 때문에 서로 다른 기술 기반으로 구현 가능하다는 특징도 있음)
마이크로 서비스 아키텍처는...
분산 시스템이고, 서비스 지향 아키텍처 (SOA, Service Oriented Architecture) 이다.
서로 독립되어 있기 때문에 장애의 전파를 최소화 한다.
기존 시스템에 영향을 최소화하면서 확장 가능하다.
다수의 서비스들로 구분되어 있기 때문에 각 서비스들은 독립적으로 배포 가능하다.
배포
테스트
모니터링
대규모 마이크로 서비스
728x90
'Software architecture' 카테고리의 다른 글
Use Case Model - Use Case Diagram (0) | 2020.12.07 |
---|---|
SOLID - 객체 지향 디자인을 위한 5가지 기본 원칙 (0) | 2020.12.06 |
Quality Attribute Scenario (0) | 2020.12.06 |
Architectural Drivers - 핵심 요구 사항 (0) | 2020.12.06 |