0장. 소개
0.1 이 책의 구성
0.2 이 책의 대상 독자
0.3 사전 지식
0.4 빠른 시작
0.5 감사의 말
0.6 웹사이트
1장. 마이크로서비스
1.1 마이크로서비스: 정의
1.2 마이크로서비스를 사용하는 이유
1.3 도전 과제
1.4 변형
1.5 결론
2장. 마이크로 아키텍처와 매크로 아키텍처
2.1 바운디드 컨텍스트와 전략적 설계
2.2 기술적 마이크로와 매크로 아키텍처
2.3 운영: 마이크로 아키텍처 또는 매크로 아키텍처
2.4 마이크로 아키텍처를 선호한다!
2.5 조직 측면
2.6 독립 시스템 아키텍처 원칙
2.7 변형
2.7 결론
3장. 마이그레이션
3.1 마이그레이션을 수행하는 이유
3.2 일반적인 마이그레이션 전략
3.3 대안 전략
3.4 빌드, 운영, 조직
3.5 변형
3.6 결론
4장. 도커
4.1 마이크로서비스에서 도커를 사용하는 이유
4.2 도커 기본 내용
4.3 도커 설치와 도커 커맨드
4.4 도커 머신으로 도커 호스트 설치
4.5 도커파일
4.6 도커 컴포즈
4.7 변형
4.8 결론
5장. 기술 관점의 마이크로 아키텍처
5.1 요구 사항
5.2 리액티브
5.3 스프링 부트
5.4 Go
5.5 변형
5.6 결론
6장. 독립 시스템
6.1 독립 시스템에 대한 근거
6.2 정의
6.3 예제
6.4 SCS와 마이크로서비스
6.5 도전 과제
6.6 장점
6.7 변형
6.8 결론
7장. 개념: 프론트엔드 통합
7.1 프론트엔드: 모놀리스 또는 모듈화
7.2 옵션
7.3 자원 지향 클라이언트 아키텍처
7.4 도전
7.5 장점
7.6 변형
7.7 결론
8장. 레시피: 링크와 클라이언트 통합하기
8.1 개요
8.2 예시
8.3 변형
8.4 실험
8.5 결론
9장. 레시피: ESI를 사용한 서버 측 통합
9.1 ESI: 개념
9.2 예시
9.
★ 이 책의 대상 독자 ★
마이크로서비스의 기본 원칙과 기술적 측면을 설명해, 다양한 독자에게 흥미를 제공할 것이다.
■ 개발자: 적합한 기술 스택을 선택할 수 있는 가이드라인을 제공하는 2부가 도움될 것이다. 예시로 제공되는 프로젝트는 기술의 기초를 배우는 토대 역할을 한다. 예시 프로젝트에 포함된 마이크로서비스는 스프링 프레임워크(Spring Framework를 사용해 자바(Java로 작성한다. 그러나 예시에 사용된 기술은 마이크로서비스를 통합한다. 따라서 추가적인 마이크로서비스는 다른 언어로 작성될 수 있다. 3부에서는 개발자가 앞으로 더욱 중요하게 생각하는 운영 주제를 포함했다. 1부에서는 아키텍처 개념의 기본 원리를 설명한다.
■ 아키텍트: 1부는 마이크로서비스에 대한 기본 지식을 제공한다. 마이크로서비스 아키텍처를 구현하기 위한 실제 레시피와 기술을 제시하는 2부와 3부가 도움될 것이다. 마이크로서비스에 대한 주제를 통해 아키텍트에 중점을 두지만 기술을 자세히 다루지 않는 점을 참고하길 바란다.
■ 데브옵스와 운영 전문가: 3부의 레시피는 로그 분석, 모니터링, 마이크로서비스 추적과 같은 운영 측면의 기술적 평가가 가능한 견고한 토대를 제공해 유익할 것이다. 2부에서는 도커, 쿠버네티스, 클라우드 파운드리와 같은 배포 기술을 소개하고 일부 운영상의 문제도 해결하는 방법을 소개한다. 1부에서는 마이크로서비스 아키텍처 접근 방법의 배경에 대해 설명한다.
■ 관리자: 마이크로서비스 아키텍처 접근법의 장점과 구체적인 문제점에 대한 개요를 부분적으로 설명한다. 기술적 세부 사항에 관심이 있다면 2부와 3부를 읽는 것이 좋다.
독자가 소프트웨어 아키텍처와 소프트웨어 개발에 대한 기본 지식이 있다고 가정한다. 이 책의 예시 대부분은 사전 지식 없이 실행할 수 있는 방법으로 문서화돼 있다. 그리고 다른 프로그래밍 언어를 사용하는 마이크로서비스에 사용할 수 있는 기술에 중점을 둔다. 그러나 예시는 스프링 부트와 스프링 클라우드 프레