스프링 부트 3와 스프링 클라우드를 활용한 마이크로서비스 구축 (스프링 클라우드, 이스티오, 쿠버네티스를 활용한 견고하고 확장성 있는 마이크로서비스 구축과 배포 | 개정판 4 판)

스프링 부트 3와 스프링 클라우드를 활용한 마이크로서비스 구축 (스프링 클라우드, 이스티오, 쿠버네티스를 활용한 견고하고 확장성 있는 마이크로서비스 구축과 배포 | 개정판 4 판)

$43.37
Description
단계별로 배우는 견고하고 확장성 있는 마이크로서비스 구축과 배포!
이 책에서는 실용적인 접근 방식을 채택해 간단한 마이크로서비스부터 시작해 복잡한 분산 애플리케이션을 구축하는 과정을 단계적으로 진행한다. 그 과정에서 마이크로서비스 구축에 필수적인 기능들을 학습하고 쿠버네티스와 이스티오를 이용해 마이크로서비스를 배포하는 방법을 익힐 수 있다.

4차 개정판인 이 책에서는 자바 24, 스프링 부트 3.5, 스프링 클라우드 2025를 사용한다. 코드 예제가 전체적으로 업데이트됐으며, 사용 중단된 API는 대체되어 최신 정보를 제공한다. 스프링의 AOT 모듈, 관찰 가능성, 분산 추적, 쿠버네티스 패키징을 위한 헬름에 대한 지식을 배울 수 있다.

실습에서는 도커 컴포즈를 사용해 데이터베이스 및 메시징 서비스와 함께 마이크로서비스를 실행하는 것으로 시작해 이스티오를 사용해 쿠버네티스에 마이크로서비스를 배포한다. 또한 데이터 영속성, 복원력, 반응형 마이크로서비스, OpenAPI를 활용한 API 문서화를 비롯해 넷플릭스 유레카를 활용한 서비스 디스커버리, 스프링 클라우드 게이트웨이를 활용한 에지 서버 구축, 프로메테우스, 그라나파, EFK 스택을 활용한 모니터링을 배운다.

이 책을 마치고 나면 스프링 부트와 스프링 클라우드를 활용해 견고하고 확장성 있는 마이크로서비스를 구축할 수 있을 것이다.

저자

마그누스라르손

1986년부터IT업계의베테랑으로활동해왔으며,볼보,에릭슨,아스트라제네카등스웨덴의주요기업에서컨설팅을담당했다.과거에는분산시스템구축에어려움이많았지만오늘날에는스프링클라우드,쿠버네티스,이스티오같은오픈소스도구들이효과적인해결책을제공한다.지난10년동안마그누스는고객이이러한도구를사용할수있도록지원해왔으며,프레젠테이션과블로그를통해인사이트를공유해왔다.

목차

[1부]스프링부트를활용해마이크로서비스개발시작하기

▣01장:마이크로서비스소개
기술적요구사항
마이크로서비스와의만남
__자율적인소프트웨어컴포넌트의이점
__자율적인소프트웨어컴포넌트의문제
__마이크로서비스시작하기
__예제마이크로서비스환경
마이크로서비스정의
마이크로서비스의문제
마이크로서비스디자인패턴
__서비스디스커버리
__에지서버
__반응형마이크로서비스
__중앙집중식구성
__중앙집중식로그분석
__분산추적
__서킷브레이커
__제어루프
__중앙집중식모니터링과알람
소프트웨어지원도구
기타중요한고려사항
정리

▣02장:스프링부트소개
기술적요구사항
스프링부트
__‘구성보다관습’과팻JAR파일
__스프링부트애플리케이션설정을위한코드예제
__스프링부트3.0~3.5의새로운기능
__스프링부트2애플리케이션의마이그레이션
스프링웹플럭스
__REST서비스구축을위한코드예제
__springdoc-openapi
스프링데이터
__엔티티
__리포지터리
스프링클라우드스트림
__메시지전송과수신을위한코드예제
도커
정리
문제

▣03장:협력하는마이크로서비스만들기
기술적요구사항
마이크로서비스환경소개
마이크로서비스에서처리하는정보
__제품서비스
__리뷰서비스
__추천서비스
__제품복합서비스
__인프라관련정보
__임시로서비스디스커버리대체하기
기본골격마이크로서비스생성
__스프링이니셜라이저를활용한기본골격코드생성
__그레이들에서멀티프로젝트빌드설정
RESTfulAPI추가
__API와유틸리티프로젝트추가
__API구현
복합마이크로서비스추가
__API클래스
__프로퍼티
__통합컴포넌트
__복합API구현
오류처리추가
__전역REST컨트롤러예외핸들러
__API구현에서의오류처리
__API클라이언트에서의오류처리
API수동테스트
격리된환경의자동화된마이크로서비스테스트추가
마이크로서비스환경에대한반자동화된테스트추가
__테스트스크립트실행
정리
문제

▣04장:도커를활용한마이크로서비스배포
기술적요구사항
도커소개
__첫번째도커명령실행
도커에서자바실행하기
__사용가능한CPU제한하기
__사용가능한메모리제한하기
단일마이크로서비스에도커사용
__소스코드의변경사항
__도커이미지빌드
__서비스구동
__컨테이너를분리모드로실행
도커컴포즈를활용한마이크로서비스환경관리
__소스코드의변경사항
__마이크로서비스환경구동
협력마이크로서비스의테스트자동화
__테스트실행문제해결
정리
문제

▣05장:OpenAPI를활용한API문서화
기술적요구사항
springdoc-openapi사용법소개
소스코드에springdoc-openapi추가
__그레이들빌드파일에의존성추가
__ProductCompositeService에OpenAPI구성및일반API문서추가
__ProductCompositeService인터페이스에API관련문서추가
마이크로서비스환경빌드및구동
OpenAPI문서테스트
정리
문제

▣06장:영속성추가
기술적요구사항
이번장의목표
핵심마이크로서비스에영속성계층추가
__의존성추가
__엔티티클래스를활용한데이터저장
__스프링데이터에서리포지터리정의하기
영속성에중점을둔자동화된테스트작성
__Testcontainers사용
__영속성테스트작성
서비스계층에서영속성계층사용
__데이터베이스연결URL로깅
__새API추가
__서비스계층에서영속성계층호출
__자바빈매퍼선언
__서비스테스트업데이트
복합서비스API확장
__복합서비스API에새연산추가
__통합계층에메서드를추가
__새로운복합API연산구현
__복합서비스테스트업데이트
도커컴포즈환경에데이터베이스추가
__도커컴포즈구성
__데이터베이스연결구성
__MongoDB와MySQLCLI도구
새로운API와영속성계층에대한수동테스트
마이크로서비스환경의자동화된테스트업데이트
정리
문제

▣07장:반응형마이크로서비스개발
기술적요구사항
논블로킹동기API와이벤트기반비동기서비스중에서선택하기
논블로킹동기RESTfulAPI개발
__프로젝트리액터소개
__스프링데이터MongoDB를활용한논블로킹영속성
__핵심서비스의논블로킹RESTfulAPI
__복합서비스의논블로킹RESTfulAPI
이벤트기반비동기서비스개발
__메시징관련문제처리
__토픽과이벤트정의
__그레이들빌드파일변경
__핵심서비스에서이벤트소비하기
__복합서비스에서이벤트게시하기
반응형마이크로서비스환경에대한수동테스트실행
__이벤트저장
__상태API추가
__파티션을사용하지않고RabbitMQ사용하기
__파티션과함께RabbitMQ사용하기
__토픽당두개의파티션과함께카프카사용하기
반응형마이크로서비스환경에대한자동화된테스트실행
정리
문제

[2부]스프링클라우드를활용한마이크로서비스관리

▣08장:스프링클라우드소개
기술적요구사항
스프링클라우드의진화
서비스디스커버리를위한넷플릭스유레카활용
스프링클라우드게이트웨이를에지서버로사용하기
중앙집중식구성을위한스프링클라우드컨피그활용
복원력향상을위한Resilience4j활용
__Resilience4j의서킷브레이커예제
분산추적을위한마이크로미터트레이싱과집킨활용
정리
문제
기술적요구사항

▣09장:넷플릭스유레카를활용한서비스디스커버리
서비스디스커버리소개
__DNS기반서비스디스커버리의문제
__서비스디스커버리의과제
__스프링클라우드의넷플릭스유레카를활용한서비스디스커버리
넷플릭스유레카서버설정
넷플릭스유레카서버에마이크로서비스연결
개발환경용구성설정
__유레카구성매개변수
__유레카서버구성
__유레카서버에대한클라이언트구성
디스커버리서비스테스트
__서비스확장
__서비스축소
__유레카서버를활용한테스트
유레카서버를다시구동
정리
문제

▣10장:스프링클라우드게이트웨이를활용해에지서버뒤에마이크로서비스숨기기
기술적요구사항
시스템환경에에지서버추가
스프링클라우드게이트웨이설정
__복합상태검사추가
__스프링클라우드게이트웨이구성
__도커엔진외부로무엇이노출되는지검사하기
__라우팅규칙테스트
정리
문제

▣11장:API에대한접근보안
기술적요구사항
OAuth2.0과OpenIDConnect소개
__OAuth2.0소개
__OpenIDConnect소개
시스템환경보호
HTTPS를이용한외부통신보호
__런타임에자체서명인증서교체하기
디스커버리서버에대한접근보호
__유레카서버의변경사항
__유레카클라이언트의변경사항
로컬인가서버추가
OAuth2.0과OpenIDConnect를활용한API보호
__에지서버및product-composite서비스의변경사항
__product-composite서비스의변경사항
__테스트스크립트의변경사항
로컬인가서버를이용한테스트
__자동화된테스트의빌드와실행
__보호된디스커버리서버에대한테스트
__접근토큰획득
__접근토큰을이용한보호된API호출
__OAuth2.0으로스웨거UI테스트
외부OpenIDConnect제공자를이용한테스트
__Auth0에서계정설정및구성
__Auth0을OpenID제공자로사용하는데필요한변경사항
__Auth0을OpenIDConnect제공자로사용해테스트스크립트실행하기
__클라이언트자격증명승인흐름을이용한접근토큰획득
__인가코드승인흐름을이용한접근토큰획득
__Auth0접근토큰을이용한보호된API호출
__사용자의상세정보조회
정리
문제

▣12장:중앙집중식구성
기술적요구사항
스프링클라우드컨피그서버소개
__구성저장소의스토리지유형
__초기클라이언트연결결정
__구성보안설정
__컨피그서버API소개
컨피그서버설정
__에지서버에서라우팅규칙설정
__도커사용을위한컨피그서버구성
컨피그서버의클라이언트구성
__연결정보구성
구성저장소구조화
스프링클라우드컨피그서버테스트
__빌드및자동화테스트실행
__컨피그서버API를이용한구성조회
__민감한정보의암호화와복호화
정리
문제

▣13장:Resilience4j를활용한복원력개선
기술적요구사항
Resilience4j복원메커니즘소개
__서킷브레이커소개
__시간제한소개
__재시도메커니즘소개
복원메커니즘추가
__프로그래밍가능한처리지연및무작위오류추가
__서킷브레이커와시간제한추가
__재시도메커니즘추가
__자동화된테스트추가
서킷브레이커와재시도메커니즘테스트
__빌드및자동화된테스트실행
__정상작동중회로가닫혀있는지확인
__문제발생시서킷브레이커를강제로열기
__서킷브레이커다시닫기
__무작위오류로인한재시도테스트
정리
문제

▣14장:분산추적
기술적요구사항
마이크로미터트레이싱과집킨을활용한분산추적소개
분산추적추가
__빌드파일에의존성추가
__마이크로미터트레이싱과집킨에대한구성추가
__도커컴포즈파일에집킨추가하기
__반응형클라이언트에대한지원문제해결
__사용자정의스팬및기존스팬에사용자정의태그추가
분산추적실습
__시스템환경구동
__성공적인API요청보내기
__실패하는API요청보내기
__비동기처리를트리거하는API요청보내기
정리
문제

[03부]쿠버네티스를활용한경량마이크로서비스개발

▣15장:쿠버네티스소개
기술적요구사항
쿠버네티스개념소개
쿠버

출판사 서평

★이책에서다루는내용★

◎스프링부트를활용한반응형마이크로서비스구축
◎스프링클라우드를활용한탄력적이고확장가능한마이크로서비스개발
◎OAuth및스프링시큐리티를활용한API보호
◎도커를이용한개발,테스트,생산환경간의격차해소
◎쿠버네티스를이용한마이크로서비스배포및관리
◎이스티오를적용해보안,관찰가능성,트래픽관리를개선
◎JUnit,테스트컨테이너,그레이들,bash를이용한마이크로서비스테스트자동화
◎스프링AOT및GraalVM을이용한마이크로서비스의네이티브컴파일
◎마이크로미터트레이싱을활용한분산추적