1장 마이크로서비스 아키텍처
1.1 모놀리식 아키텍처 소개
__1.1.1 모놀리식 아키텍처 장점
__1.1.2 모놀리식 아키텍처 단점
1.2 마이크로서비스 아키텍처 소개
__1.2.1 마이크로서비스 아키텍처 장점
__1.2.2 마이크로서비스 아키텍처 단점
1.3 마이크로서비스 아키텍처 설계
__1.3.1 서비스 세분화 원칙
__1.3.2 도메인 주도 설계(DDD의 바운디드 컨텍스트
__1.3.3 단일 책임 원칙
__1.3.4 가벼운 통신 프로토콜
__1.3.5 외부 공개 인터페이스
__1.3.6 마이크로서비스마다 독립된 데이터 저장소
__1.3.7 정리
1.4 스프링 투어의 아키텍처 변화
__1.4.1 스프링 투어의 시작
__1.4.2 서비스 안정성 확보
__1.4.3 확장의 시작
__1.4.4 데이터 저장소의 확장
__1.4.5 마이크로서비스 아키텍처의 시작
1.5 12 요소 애플리케이션
__1.5.1 코드베이스: 버전 관리되는 하나의 코드베이스와 다양한 배포
__1.5.2 의존성: 명시적으로 선언할 수 있고 분리할 수 있는 의존성
__1.5.3 설정: 환경 변수를 이용한 설정
__1.5.4 지원 서비스: 지원 서비스는 연결된 리소스로 처리
__1.5.5 빌드, 릴리스, 실행: 소스 빌드와 실행은 완전히 분리되어야 한다
__1.5.6 프로세스: 애플리케이션은 하나 이상의 무상태 프로세스로 실행되어야 한다
__1.5.7 포트 바인딩: 포트 바인딩을 통한 서비스 공개
__1.5.8 동시성: 프로세스들을 통한 수평 확장
__1.5.9 폐기 가능: 프로세스는 빠르게 시작해야 하고 안정적으로 종료해야 한다
__1.5.10 Dev 환경과 Production 환경 일치
__1.5.11 로그: 로그는 이벤트 스트림으로 다룬다
__1.5.12 admin 프로세스: 시스템 유지 보수를 위한 일회성 프로세스
1.6 정리 64
2장 프레임워크와 스프링 부트
2.1 스프링 투어가 스프링 부트를 선택한 이유
2.2
마이크로서비스 도입에 필요한
스프링 부트 핵심 가이드!
마이크로서비스 도입에 필요한 스프링 부트 사용법을 확실하게 배우자!
개발과 운영이 까다로운 마이크로서비스를 올바르게 이해하고, 마이크로서비스 애플리케이션을 개발할 때 필요한 스프링 부트에 집중해서 설명한다. 스프링 부트의 자동 설정 기능부터 JPA, REST-API, 영속성 프레임워크와 레디스, 그리고 스프링 프레임워크에서 제공하는 스케줄링 기능과 스프링 이벤트를 사용하는 방법까지 순서대로 들여다보면서 스프링 애플리케이션을 보다 완성도 있게 개발할 수 있다.
400개의 길고 짧은 예제를 통해 실전 감각을 올리자!
이 책에서는 실무에서 서비스를 개발하면서 부딪힐 수 있는 여러 상황들을 예제로 설명한다. 400개의 길고 짧은 예제를 통해 ‘스프링 투어’라는 가상의 여행 예약 서비스를 조금씩 발전시키면서 여러 서비스가 결합된 서비스로의 전환 과정을 보여준다. 이 과정 안에서 스프링 부트로 마이크로서비스 컴포넌트를 개발하는 방법을 보다 쉽게 이해할 수 있을 것이다.