MicroService Architecture는 크게 Inner Architecture와 Outer Architecture로 구분할 수 있다.
MicroService Architecture는 크게 Inner Architecture와 Outer Architecture로 구분할 수 있다. 위 그림에서 남색 부분은 Inner Architecture의 영역이고, 회색 부분은 Outer Architecture 부분이다.
Inner Architecture는 내부 서비스를 어떻게 쪼개고 설계할지를 다루며, 마이크로서비스 정의, DB 접근 구조, API 설계 등이 포함된다. 서비스 정의는 비즈니스 특성과 서비스 간의 종속성을 고려해야 하며, 데이터베이스 정합성을 보장하는 방법도 필요하다. 각 비즈니스 및 시스템의 특성에 따라 표준화된 접근이 없기 때문에, MSA 설계에서 가장 어려운 부분이다.
Outer Architecture는 외부와의 연결 및 관리를 담당하는 부분이다.
Gartner에서는 MSA의 Outer architecture을 총 6개의 영역으로 분류하고 있다.
<aside> 💻
해당 글에서는 API Gateway와 관련된 External Gateway만 간단하게 설명한다.
External Gateway는 전체 서비스 외부로부터 들어오는 접근을 내부 구조를 드러내지 않고 처리하기 위한 요소이다. 사용자 인증(Consumer Identity Provider)과 권한 정책관리(policy management)를 수행하며 API Gateway가 여기서 가장 핵심적인 역할을 담당한다.
API Gateway는 서버 최앞단에 위치하여 모든 API 호출을 받는다. 받은 API 호출을 인증한 후, 적절한 서비스들에 메세지를 전달될 수 있도록 한다.(routing)