1장 스프링, 클라우드와 만나다
1.1 마이크로서비스 아키텍처로 진화
__1.1.1 N-계층 아키텍처
__1.1.2 모놀리스 아키텍처
__1.1.3 마이크로서비스란?
__1.1.4 애플리케이션 구축 방법을 왜 바꾸어야 할까?
1.2 스프링 마이크로서비스
1.3 우리가 구축할 것은 무엇인가?
1.4 이 책의 내용
__1.4.1 이 책에서 배울 내용
__1.4.2 이 책의 연관성
1.5 클라우드 및 마이크로서비스 기반 애플리케이션
__1.5.1 스프링 부트로 마이크로서비스 구축하기
__1.5.2 클라우드 컴퓨팅이란 정확히 무엇인가?
__1.5.3 왜 클라우드와 마이크로서비스인가?
1.6 마이크로서비스는 코드 작성 이상을 의미한다
1.7 핵심 마이크로서비스 개발 패턴
1.8 마이크로서비스 라우팅 패턴
1.9 마이크로서비스 클라이언트 회복성
1.10 마이크로서비스 보안 패턴
1.11 마이크로서비스 로깅과 추적 패턴
1.12 애플리케이션 지표 패턴
1.13 마이크로서비스 빌드/배포 패턴
1.14 요약
2장 스프링 클라우드와 함께 마이크로서비스 세계 탐험
2.1 스프링 클라우드란?
__2.1.1 스프링 클라우드 컨피그
__2.1.2 스프링 클라우드 서비스 디스커버리
__2.1.3 스프링 클라우드 로드 밸런서와 Resilience4j
__2.1.4 스프링 클라우드 API 게이트웨이
__2.1.5 스프링 클라우드 스트림
__2.1.6 스프링 클라우드 슬루스
__2.1.7 스프링 클라우드 시큐리티
2.2 스프링 클라우드 예제 소개
2.3 클라우드 네이티브 마이크로서비스 구축 방법
__2.3.1 코드베이스
__2.3.2 의존성
__2.3.3 구성 정보
__2.3.4 백엔드 서비스
__2.3.5 빌드, 릴리스, 실행
__2.3.6 프로세스
__2.3.7 포트 바인딩
__2.3.8 동시성
__2.3.9 폐기 가능
__2.3.10 개발 및 운영 환경 일치
__2.3.11 로그
__2.3.12 관리
이론은 탄탄하게,실습은 실무에 가깝게!
스프링 부트 + 스프링 클라우드로 시작하자
마이크로서비스는 서비스 개발, 그 이상(클라우드, 인프라, 자동화, 테스팅, 회복성, 보안, 인증, 로깅, 모니터링, 배포 등을 필요로 한다. 클라우드를 사용하면 안정성, 생산성, 확장성, 유지 보수 등 여러 가지 면에서 유용하다. 책에서는 이러한 장점이 있는 스프링 클라우드를 사용해 마이크로서비스의 빌드와 배포를 최소화한다. 스프링 부트와 스프링 클라우드로 마이크로서비스를 시작해 보자.
현실적이고 실용적인 코드로 학습하자
MSA/클라우드 네이티브 환경에서 다양한 프로젝트를 경험한 아키텍트와 개발자로 활동해 온 두 명의 저자가 현업에서 활용 가능한 최신 컨테이너 기반의 마이크로서비스 코드를 수록했다. 스프링 부트와 스프링 클라우드 2 버전에 호환되는 실용적인 예제를 직접 실행하며 마이크로서비스의 개념을 확실히 이해할 수 있다.
핵심 패턴을 익히자
마이크로서비스를 개념적으로 이해하고 작성하는 것은 가능하지만, 대규모 마이크로서비스 애플리케이션을 클라우드에서 배포하고 운영하는 것은 코드를 작성하는 것 이상을 필요로 한다. 책에서는 핵심 마이크로서비스 개발 패턴, 라우팅 패턴, 클라이언트 회복성 패턴, 구축/배치 패턴 등 주요 개념을 스프링 부트와 스프링 클라우드로 구현한다.