서비스 규모를 작게 나누어 구성한 아키텍처.
예를 들어, 포털 사이트에 마이크로서비스 아키텍처를 적용한다면 애플리케이션 하나에 여러 기능을 넣어 개발하지 않고 블로그 프로젝트, 카페 프로젝트, 메일 프로젝트 등 애플리케이션을 기능별로 나눠서 개발하게 됨.
서버간 통신 : 한 서버가 다른 서버에 통신을 요청하는 것을 의미, 한 대는 서버, 다른 한 대는 클라이언트가 되는 구조. 몇 가지 프로토콜에 의해 다양한 통신 방식을 적용할 수 있지만 가장 많이 사용되는 방식은 HTTP/HTTPS 방식임.
스프링 부트에서 spring-boot-starter-web 모듈을 사용하면 기본적으로 톰캣(Tomcat)을 사용하는 스프링 MVC 구조를 기반으로 동작
서블릿(Servlet)은 클라이언트의 요청을 처리하고 결과를 반환하는 자바 웹 프로그래밍 기술
일반적으로 서블릿은 서블릿 컨테이너(Servlet Container)에서 관리. 서블릿 컨테이너는 서블릿 인스턴스(Servlet Instance)를 생성하고 관리하는 역할을 수행하는 주체 (Ex> 톰캣)
서블릿 컨테이너의 특징
스프링에서는 DispatcherServlet이 서블릿의 역할을 수행함.
일반적으로 스프링은 톰캣을 임베드(embed; 끼워넣다)해 사용하기 때문에 서블릿 컨테이너와 Dispatcherservlet은 자동 설정된 web.xml의 설정값을 공유
핸들러 매핑(Handler Mapping)은 요청 정보를 기준으로 어떤 컨트롤러를 사용할지 선정하는 인터페이스. 이때, 핸들러는 컨트롤러(Controller)를 의미
핸들러 매핑 인터페이스의 대표적인 구현체 클래스