마스터링 스프링 클라우드
도서명:마스터링 스프링 클라우드
저자/출판사:피요트르,민코프스키/위키북스
쪽수:404쪽
출판일:2018-11-07
ISBN:9791158391218
목차
▣ 01장: 마이크로서비스 소개
마이크로서비스의 장점
스프링 프레임워크로 마이크로서비스 만들기
클라우드 네이티브 개발
마이크로서비스 아키텍처 배우기
서비스 디스커버리의 필요성 이해하기
서비스 간 통신
장애와 서킷 브레이커
요약
▣ 02장: 마이크로서비스를 위한 스프링
스프링 부트 소개
스프링 부트를 이용해 애플리케이션 개발하기
컨피규레이션 파일 사용자 정의하기
RESTful 웹서비스 생성하기
API 문서화
스웨거 2를 스프링 부트와 같이 사용하기
스웨거 UI를 통한 API 테스트
스프링 부트 액추에이터의 기능
애플리케이션 정보
상태 정보
매트릭스
개발자 도구
데이터베이스와 애플리케이션의 통합
예제 애플리케이션 빌드하기
애플리케이션 실행하기
요약
▣ 03장: 스프링 클라우드 개요
기본부터 시작하기
__넷플릭스(Netflix) OSS
디스커버리와 분산 컨피규레이션
__또 다른 대****- 컨설
__아파치 주키퍼
__기타 프로젝트
슬루스를 사용한 분산 추적
메시징과 통합
__클라우드 플랫폼 지원
다른 유용한 라이브러리
__보****
__테스트 자동화
__클러스터 기능
프로젝트 개요
릴리즈 트레인(release trains)
요약
▣ 04장: 서비스 디스커버리
서버 측에서 유레카 서버 실행하기
클라이언트 측에서 유레카 활성화하기
종료 시 등록 해제
프로그램 방식으로 디스커버리 클라이언트 사용하기
고급 컨피규레이션 설정
레지스트리 갱신하기
인스턴스 식별자 변경하기
IP 주소 우선하기
응답 캐시
클라이언트와 서버 간의 보****통신 사용하기
안전한 서비스 등록하기
유레카 API
복제와 고가용성
예제 솔루션의 아키텍처
예제 애플리케이션 개발하기
장애 조치
존(Zones)
하나의 서버를 사용하는 존
예제 애플리케이션 개발하기
요약
▣ 05장: 스프링 클라우드 컨피그를 사용한 분산 컨피규레이션
HTTP API 자원의 소개
__네이티브 프로파일 지원
서버 측 애플리케이션 개발하기
클라이언트 측 애플리케이션 개발하기
유레카 서버 추가하기
클라이언트 측에 부트스트랩 접근 방식 사용
__컨피그 서버 디스커버리
백엔드 저장소 타입
__파일 시스템 백엔드
__깃 백엔드
__볼트 백엔드
추가 기능
__시작 시 실패와 재시도
__클라이언트 안전하게 하기
자동으로 컨피규레이션 다시 읽기
__솔루션 아키텍처
__@RefreshScope를 사용해 컨피규레이션 다시 읽기
__메시지 브로커로부터 이벤트 받기
__컨피그 서버에서 저장소 변경 모니터링하기
요약 109
▣ 6장: 마이크로서비스 간의 커뮤니케이션
다양한 커뮤니케이션 스타일
스프링 클라우드를 사용한 동기식 통신
리본을 사용한 부하 분산
__리본 클라이언트를 사용해 마이크로서비스 간 커뮤니케이션하기
서비스 디스커버리와 함께 RestTemplate 사용하기
__예제 애플리케이션 개발하기
페인(Feign) 클라이언트 사용하기
__여러 존의 지원
__애플리케이션에서 페인 사용하기
__상속 지원
수동으로 클라이언트 생성하기
__사용자 정의 클라이언트
요약
▣ 7장: 고급 부하 분산 및 서킷 브레이커
부하 분산 룰
__WeightedResponseTime 룰
리본 클라이언트 사용자 정의하기
히스트릭스를 사용하는 서킷 브레이커 패턴
__히스트릭스를 사용하는 애플리케이션 개발
__서킷 브레이커 차단하기
대기 시간과 장애 내성 모니터링하기
__히스트릭스 메트릭 스트림 노출하기
__히스트릭스 대시보드
장애와 페인을 사용한 서킷 브레이커 패턴
__리본을 사용해 연결 재시도하기
__페인을 지원하는 히스트릭스
요약
▣ 08장: API 게이트웨이를 사용한 라우팅과 필터링
스프링 클라우드 넷플릭스 주울 사용하기
__게이트웨이 애플리케이션 개발하기
__서비스 디스커버리와 연동하기
__라우트 컨피규레이션 사용자 정의하기
__리본 클라이언트를 사용한 라우트 정의
__종단점 관리
__히스트릭스 폴백 제공하기
__주울 필터
스프링 클라우드 게이트웨이 사용하기
__프로젝트에 스프링 클라우드 게이트웨이 사용하기
__내장된 조건자와 필터
__마이크로서비스를 위한 게이트웨이
__서비스 디스커버리와 통합하기
요약
▣ 09장: 분산 로깅과 추적
마이크로서비스를 위한 로깅의 모범 사례
스프링 부트를 사용한 로깅
ELK 스택을 사용한 통합 로그 수집
__머신에 ELK 스택 컨피규레이션하기
__애플리케이션과 ELK 스택 통합하기
스프링 클라우드 슬루스
__슬루스와 애플리케이션 통합하기
__키바나를 사용해 이벤트 찾기
__집킨과 슬루스 통합하기
요약
▣ 10장: 추가 컨피규레이션 및 디스커버리 기능
스프링 클라우드 컨설 사용하기
__컨설 에이전트 실행하기
__클라이언트 측에 통합하기
__서비스 디스커버리
__분산 컨피규레이션
스프링 클라우드 주키퍼 사용하기
__주키퍼 실행하기
__서비스 디스커버리
__분산 컨피규레이션
요약
▣ 11장: 메시지 주도 마이크로서비스
스프링 클라우드 스트림 배우기
메시징 시스템 구축하기
__스프링 클라우드 스트림 사용하기
__채널을 선언하고 바인딩하기
__래빗엠큐 브로커를 사용해 사용자 정의 연결 설정하기
__다른 스프링 클라우드 프로젝트와 통합하기
게시/구독 모델
__예제 시스템 실행하기
__확장 및 그루핑
컨피규레이션 옵션
__스프링 클라우드 스트림 속성
__속성 바인드하기
__컨슈머
고급 프로그래밍 모델
__메시지 생성하기
변환(transformation)
__조건에 따라 메시지 소비하기
아파치 카프카 사용하기
__카프카 실행하기
__애플리케이션을 맞춤형으로 설정하기
__카프카 스트림 API 지원
__컨피규레이션 속성
다양한 바인더
요약
▣ 12장: API 보****강화하기
스프링 부트에서 HTTPS 사용하기
디스커버리 보****강화
__안전한 애플리케이션 등록하기
__HTTPS상에서 유레카 서비스하기
컨피규레이션 서버 보****강화
__암호화와 복호화
__클라이언트와 서버를 위한 인증 구성하기
OAuth2로 권한 부여
__OAuth2 소개
__권한 부여 서버 구축하기
__클라이언트 컨피규레이션
__JDBC 백엔드 저장소 사용하기
__서비스 간 권한 부여
__API 게이트웨이에서 SSO 사용하기
요약
▣ 13장: 자바 마이크로서비스 테스팅
테스팅 전략
스프링 부트 애플리케이션 테스팅
__예제 애플리케이션 개발하기
__데이터베이스와 통합
단위 테스트
컴포넌트 테스트
__메모리 기반 데이터베이스를 사용해 테스트 실행하기
__HTTP 클라이언트와 서비스 디스커버리 다루기
__예제 테스트 구현하기
통합 테스트
__테스트 분류하기
__HTTP 트래픽 포착하기
컨트랙트 테스트
__팩트 사용하기
__스프링 클라우드 컨트랙트 사용하기
성능 테스트
요약
▣ 14장: 도커 지원
도커 소개
도커 설치하기
자주 사용하는 도커 명령
__컨테이너 시작 및 중지하기
__컨테이너 목록 조회 및 제거하기
__이미지 당겨오기 및 올리기
__이미지 빌드하기
__네트워킹
마이크로서비스의 도커 이미지 생성하기
__도커 파일
__컨테이너화된 마이크로서비스 실행하기
__메이븐 플러그인을 사용해 이미지 빌드하기
__고급 도커 이미지
지속적인 배포
__도커에 젠킨스 통합하기
__파이프라인 구축하기
쿠버네티스와 함께 사용하기
__개념과 구성 요소
__미니큐브를 통해 로컬에 쿠버네티스 실행하기
__애플리케이션 배포하기
__클러스터 관리하기
요약
▣ 15장: 클라우드 플랫폼상의 스프링 마이크로서비스
피보탈 클라우드 파운드리
__사용 모델
__애플리케이션 준비
__히로쿠(Heroku) 플랫폼
__애플리케이션 준비하기
__배포 테스트하기
요약