어떠한 포털 사이트를 하나의 서비스 단위로 개발한다 가정
-> ex) 블로그,카페,메일 등의 기능을 하나의 애플리케이션에 통합 시켜 놓음
이 경우 서버 업데이트나 유지보수할 때 마다 사이트 작업 중입니다 라는 팻말을 걸고 작업을 해야 함
이러한 문제를 해결하기 위해 나온것이 마이크로서비스 아키텍처
(MSA: MicroService Architecture)
앞선 포털 사이트에 마이크로서비스 아키텍처를 적용한다면 애플리케이션 하나에 여러 기능을 넣어 개발하는 것이 아닌 블로그 프로젝트, 카페 프로젝트, 매일 프로젝트 등 애플리케이션을 기능별로 나눠서 개발
A포털 사이트(단일 서비스 아키텍처)
는 프레젠테이션(블로그P, 메일P), 비즈니스(블로그B, 메일B), 데이터(블로그D, 메일D) 식으로 구성되어 있다면 B 포털사이트(MSA)
는 블로그 서비스(블로그P, 블로그B, 블로그D), 메일 서비스(메일P, 메일B, 메일 D) 처럼 구성
단일 서비스로 구성된 A포털 사이트는 내부 메서드 호출
등을 통해 원하는 자원을 가져와 사용할 수 있지만 서비스 기능별로 구분해서(B포털) 독립적으로 애플리케이션을 개발하게 되면 서비스간 통신해야 하는 경우 생김
-> 블로그 기능 사용하기 위해 로그인 서비스를 거쳐야 하는 경우
-> 이러한 통신을 서버간 통신
이라 한다
서버 간 통신이란 한 서버가 다른 서버에 통신을 요청하는 것으로 한 대는 서버, 다른 한대는 클라이언트가 되는 구조
주로 HTTP/HTTPS 통신 방식 적용