- 최근 클라우드, 컨테이너 시장이 급격히 성장하면서 마이크로서비스가 많이 들린다고 한다.
- 기존의 아키텍처의 단점을 보완하고자 나온 여러 아키텍처 중 하나이다.
말 그대로, 작은 서비스 여러개가 모여서 하나의 시스템을 제공하는 아키텍처이다.- 각 서비스는 작고 독립적이며 느슨하게 결할되어 있다. 그래서, 서비스들을 독립적으로 배포할 수 있으며, 프로그램을 빌드한 뒤에 재배치하지 않아도 기존 서비스들을 업데이트 할 수 있다.
- 서비스들이 독립적이라서 클라우드와 컨테이너와 잘 어울린다.
- 장점 :
1. 전체프로그램을 다시 배포하지 않고도 업데이트가 가능
- 독립적으로 개발 가능
- 서비스 하나가 다운되더라도 전체 서비스에 영향을 끼치지 않음
- 서비스를 독립적으로 확장가능, 리소스의 유연한 운용 가능
- 단점 :
1. 서비스간 통신방법이 필요하고 복잡함
- 서비스끼리의 테스트가 어려움
- 복잡하고 독립된 구조로 인해 통합적인 유지관리가 어려워질수 있음.