이미 소장하고 있다면 판매해 보세요.
|
[1부] 스프링 부트를 활용해 마이크로서비스 개발 시작하기
▣ 01장: 마이크로서비스 소개 기술적 요구사항 마이크로서비스와의 만남 __자율적인 소프트웨어 컴포넌트의 이점 __자율적인 소프트웨어 컴포넌트의 문제 __마이크로서비스 시작하기 __예제 마이크로서비스 환경 마이크로서비스 정의 마이크로서비스의 문제 마이크로서비스 디자인 패턴 __서비스 디스커버리 __에지 서버 __반응형 마이크로서비스 __중앙 집중식 구성 __중앙 집중식 로그 분석 __분산 추적 __서킷 브레이커 __제어 루프 __중앙 집중식 모니터링과 알람 소프트웨어 지원 도구 기타 중요한 고려 사항 정리 ▣ 02장: 스프링 부트 소개 기술적 요구사항 스프링 부트 __‘구성보다 관습’과 팻 JAR 파일 __스프링 부트 애플리케이션 설정을 위한 코드 예제 __스프링 부트 3.0 ~ 3.5의 새로운 기능 __스프링 부트 2 애플리케이션의 마이그레이션 스프링 웹플럭스 __REST 서비스 구축을 위한 코드 예제 __springdoc-openapi 스프링 데이터 __엔티티 __리포지터리 스프링 클라우드 스트림 __메시지 전송과 수신을 위한 코드 예제 도커 정리 문제 ▣ 03장: 협력하는 마이크로서비스 만들기 기술적 요구사항 마이크로서비스 환경 소개 마이크로서비스에서 처리하는 정보 __제품 서비스 __리뷰 서비스 __추천 서비스 __제품 복합 서비스 __인프라 관련 정보 __임시로 서비스 디스커버리 대체하기 기본 골격 마이크로서비스 생성 __스프링 이니셜라이저를 활용한 기본 골격 코드 생성 __그레이들에서 멀티 프로젝트 빌드 설정 RESTful API 추가 __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와 MySQL CLI 도구 새로운 API와 영속성 계층에 대한 수동 테스트 마이크로서비스 환경의 자동화된 테스트 업데이트 정리 문제 ▣ 07장: 반응형 마이크로서비스 개발 기술적 요구사항 논블로킹 동기 API와 이벤트 기반 비동기 서비스 중에서 선택하기 논블로킹 동기 RESTful API 개발 __프로젝트 리액터 소개 __스프링 데이터 MongoDB를 활용한 논블로킹 영속성 __핵심 서비스의 논블로킹 RESTful API __복합 서비스의 논블로킹 RESTful API 이벤트 기반 비동기 서비스 개발 __메시징 관련 문제 처리 __토픽과 이벤트 정의 __그레이들 빌드 파일 변경 __핵심 서비스에서 이벤트 소비하기 __복합 서비스에서 이벤트 게시하기 반응형 마이크로서비스 환경에 대한 수동 테스트 실행 __이벤트 저장 __상태 API 추가 __파티션을 사용하지 않고 RabbitMQ 사용하기 __파티션과 함께 RabbitMQ 사용하기 __토픽당 두 개의 파티션과 함께 카프카 사용하기 반응형 마이크로서비스 환경에 대한 자동화된 테스트 실행 정리 문제 [2부] 스프링 클라우드를 활용한 마이크로서비스 관리 ▣ 08장: 스프링 클라우드 소개 기술적 요구사항 스프링 클라우드의 진화 서비스 디스커버리를 위한 넷플릭스 유레카 활용 스프링 클라우드 게이트웨이를 에지 서버로 사용하기 중앙 집중식 구성을 위한 스프링 클라우드 컨피그 활용 복원력 향상을 위한 Resilience4j 활용 __Resilience4j의 서킷 브레이커 예제 분산 추적을 위한 마이크로미터 트레이싱과 집킨 활용 정리 문제 기술적 요구사항 ▣ 09장: 넷플릭스 유레카를 활용한 서비스 디스커버리 서비스 디스커버리 소개 __DNS 기반 서비스 디스커버리의 문제 __서비스 디스커버리의 과제 __스프링 클라우드의 넷플릭스 유레카를 활용한 서비스 디스커버리 넷플릭스 유레카 서버 설정 넷플릭스 유레카 서버에 마이크로서비스 연결 개발 환경용 구성 설정 __유레카 구성 매개변수 __유레카 서버 구성 __유레카 서버에 대한 클라이언트 구성 디스커버리 서비스 테스트 __서비스 확장 __서비스 축소 __유레카 서버를 활용한 테스트 유레카 서버를 다시 구동 정리 문제 ▣ 10장: 스프링 클라우드 게이트웨이를 활용해 에지 서버 뒤에 마이크로서비스 숨기기 기술적 요구사항 시스템 환경에 에지 서버 추가 스프링 클라우드 게이트웨이 설정 __복합 상태 검사 추가 __스프링 클라우드 게이트웨이 구성 __도커 엔진 외부로 무엇이 노출되는지 검사하기 __라우팅 규칙 테스트 정리 문제 ▣ 11장: API에 대한 접근 보안 기술적 요구사항 OAuth 2.0과 OpenID Connect 소개 __OAuth 2.0 소개 __OpenID Connect 소개 시스템 환경 보호 HTTPS를 이용한 외부 통신 보호 __런타임에 자체 서명 인증서 교체하기 디스커버리 서버에 대한 접근 보호 __유레카 서버의 변경 사항 __유레카 클라이언트의 변경 사항 로컬 인가 서버 추가 OAuth 2.0과 OpenID Connect를 활용한 API 보호 __에지 서버 및 product-composite 서비스의 변경 사항 __product-composite 서비스의 변경 사항 __테스트 스크립트의 변경 사항 로컬 인가 서버를 이용한 테스트 __자동화된 테스트의 빌드와 실행 __보호된 디스커버리 서버에 대한 테스트 __접근 토큰 획득 __접근 토큰을 이용한 보호된 API 호출 __OAuth 2.0으로 스웨거 UI 테스트 외부 OpenID Connect 제공자를 이용한 테스트 __Auth0에서 계정 설정 및 구성 __Auth0을 OpenID 제공자로 사용하는 데 필요한 변경 사항 __Auth0을 OpenID Connect 제공자로 사용해 테스트 스크립트 실행하기 __클라이언트 자격 증명 승인 흐름을 이용한 접근 토큰 획득 __인가 코드 승인 흐름을 이용한 접근 토큰 획득 __Auth0 접근 토큰을 이용한 보호된 API 호출 __사용자의 상세 정보 조회 정리 문제 ▣ 12장: 중앙 집중식 구성 기술적 요구사항 스프링 클라우드 컨피그 서버 소개 __구성 저장소의 스토리지 유형 __초기 클라이언트 연결 결정 __구성 보안 설정 __컨피그 서버 API 소개 컨피그 서버 설정 __에지 서버에서 라우팅 규칙 설정 __도커 사용을 위한 컨피그 서버 구성 컨피그 서버의 클라이언트 구성 __연결 정보 구성 구성 저장소 구조화 스프링 클라우드 컨피그 서버 테스트 __빌드 및 자동화 테스트 실행 __컨피그 서버 API를 이용한 구성 조회 __민감한 정보의 암호화와 복호화 정리 문제 ▣ 13장: Resilience4j를 활용한 복원력 개선 기술적 요구사항 Resilience4j 복원 메커니즘 소개 __서킷 브레이커 소개 __시간 제한 소개 __재시도 메커니즘 소개 복원 메커니즘 추가 __프로그래밍 가능한 처리 지연 및 무작위 오류 추가 __서킷 브레이커와 시간 제한 추가 __재시도 메커니즘 추가 __자동화된 테스트 추가 서킷 브레이커와 재시도 메커니즘 테스트 __빌드 및 자동화된 테스트 실행 __정상 작동 중 회로가 닫혀 있는지 확인 __문제 발생 시 서킷 브레이커를 강제로 열기 __서킷 브레이커 다시 닫기 __무작위 오류로 인한 재시도 테스트 정리 문제 ▣ 14장: 분산 추적 기술적 요구사항 마이크로미터 트레이싱과 집킨을 활용한 분산 추적 소개 분산 추적 추가 __빌드 파일에 의존성 추가 __마이크로미터 트레이싱과 집킨에 대한 구성 추가 __도커 컴포즈 파일에 집킨 추가하기 __반응형 클라이언트에 대한 지원 문제 해결 __사용자 정의 스팬 및 기존 스팬에 사용자 정의 태그 추가 분산 추적 실습 __시스템 환경 구동 __성공적인 API 요청 보내기 __실패하는 API 요청 보내기 __비동기 처리를 트리거하는 API 요청 보내기 정리 문제 [03부] 쿠버네티스를 활용한 경량 마이크로서비스 개발 ▣ 15장: 쿠버네티스 소개 기술적 요구사항 쿠버네티스 개념 소개 쿠버네티스 API 오브젝트 소개 쿠버네티스 런타임 컴포넌트 소개 미니큐브를 이용한 쿠버네티스 클러스터 생성 __미니큐브 프로파일 활용하기 __kubectl 활용하기 __kubectl 컨텍스트 다루기 __쿠버네티스 클러스터 생성 예시 디플로이먼트 실습 로컬 쿠버네티스 클러스터 관리 __쿠버네티스 클러스터 중단 및 재개 __쿠버네티스 클러스터 종료 정리 문제 ▣ 16장: 쿠버네티스에 마이크로서비스 배포 기술적 요구사항 넷플릭스 유레카를 쿠버네티스 서비스로 대체 쿠버네티스 활용법 소개 우아한 종료와 라이브니스 및 준비 상태 프로브에 스프링 부트 기능 활용 헬름 소개 __헬름 명령 실행 __헬름 차트의 내부 구조 __헬름 템플릿과 값 __공통 라이브러리 차트 __컴포넌트 차트 __환경 차트 개발 및 테스트를 위해 쿠버네티스에 배포하기 __도커 이미지 빌드 __헬름 차트 의존성 해결 __쿠버네티스에 배포하기 __쿠버네티스와 함께 사용하기 위한 테스트 스크립트 변경 __디플로이먼트 테스트 스테이징 및 프로덕션을 위해 쿠버네티스에 배포하기 __소스코드의 변경 사항 __쿠버네티스에 배포하기 __리소스 정리 정리 문제 ▣ 17장: 시스템 환경을 단순화하기 위한 쿠버네티스 기능구현 기술적 요구사항 스프링 클라우드 컨피그 서버 대체하기 __스프링 클라우드 컨피그 서버를 대체하는 데 필요한 변경 사항 스프링 클라우드 게이트웨이 대체하기 __스프링 클라우드 게이트웨이를 대체하는 데 필요한 변경 사항 인증서 프로비저닝 자동화 쿠버네티스 컨피그맵, 시크릿, 인그레스, cert-manager를 활용한 테스트 __인증서 교체 __스테이징 및 프로덕션을 위한 쿠버네티스 배포 쿠버네티스 없이도 마이크로서비스가 작동하는지 확인 __도커 컴포즈 파일의 변경 사항 __도커 컴포즈를 이용한 테스트 정리 문제 ▣ 18장: 서비스 메시를 활용한 관찰 가능성과 관리 개선 기술적 요구사항 이스티오를 활용한 서비스 메시 소개 __이스티오 소개 __마이크로서비스에 이스티오 프락시 주입 __이스티오 API 오브젝트 소개 마이크로서비스 환경 단순화 __쿠버네티스 인그레스 컨트롤러를 이스티오 인그레스 게이트웨이로 대체 __집킨 서버를 이스티오의 예거 컴포넌트로 대체 쿠버네티스 클러스터에 이스티오 배포 __이스티오 서비스에 대한 접근 설정 서비스 메시 생성 __소스코드 변경 __서비스 메시를 생성하는 명령 실행 __추적 및 스팬 ID 전파 로깅 서비스 메시 관찰 서비스 메시 보안 __HTTPS 및 인증서를 이용한 외부 엔드포인트 보호 __OAuth 2.0/OIDC 접근 토큰을 사용해 외부 요청 인증 __상호 인증(mTLS)을 이용한 내부 통신 보호 서비스 메시가 복원력 있는지 확인하기 __결함을 주입해 복원력 테스트하기 __처리 지연을 주입해 복원력 테스트하기 무중단 업데이트 __소스코드 변경 __마이크로서비스의 v1 버전과 v2 버전 배포 및 v1 버전으로의 라우팅 __모든 트래픽이 처음에 마이크로서비스의 v1 버전으로 라우팅되는지 확인 __카나리아 테스트 실행 __블루-그린 배포 실행 도커 컴포즈를 이용한 테스트 실행 정리 문제 ▣ 19장: EFK 스택을 활용한 중앙 집중식 로깅 기술적 요구사항 플루언트디 소개 __플루언트디 개요 __플루언트디 구성 쿠버네티스에 EFK 스택 배포 __마이크로서비스 빌드와 배포 __엘라스틱서치와 키바나 배포 __플루언트디 배포 EFK 스택 사용해보기 __키바나 초기화 __로그 레코드 분석 __마이크로서비스의 로그 레코드 검색 __근본 원인 분석 수행 정리 문제 ▣ 20장: 마이크로서비스 모니터링 기술적 요구사항 프로메테우스와 그라파나를 활용한 성능 모니터링 애플리케이션 메트릭을 수집하기 위한 소스코드 변경 마이크로서비스 빌드와 배포 그라파나 대시보드를 이용한 마이크로서비스 모니터링 __테스트용 로컬 메일 서버 설치 __그라파나 구성 __로드 테스트 __키알리의 기본 대시보드 사용하기 __기존 그라파나 대시보드 가져오기 __나만의 그라파나 대시보드 만들기 __새 대시보드 테스트 그라파나 대시보드 내보내기와 가져오기 그라파나에서 알람 설정 __메일 기반 연락 지점 구성 __기본 알림 정책 구성 __서킷 브레이커에 대한 알람 설정 __서킷 브레이커 알람 테스트 정리 문제 기술적 요구사항 ▣ 21장: macOS용 설치 안내 필요한 도구 설치 __SDKMan, 자바, 스프링 부트 CLI 설치 __홈브루 설치 __홈브루를 이용한 도구 설치 __홈브루 없이 도구 설치 __설치 후 작업 __설치 확인 소스코드 다운로드 __IDE 사용 __코드 구조 정리 기술적 요구사항 ▣ 22장: WSL 2와 우분투가 탑재된 마이크로소프트 윈도우용 설치 안내 필요한 도구 설치 __윈도우에 도구 설치 __WSL 2의 리눅스 서버에 도구 설치 소스코드 다운로드 __코드 구조 정리 ▣ 23장: 자바 마이크로서비스의 네이티브 컴파일 기술적 요구사항 자바 소스코드를 네이티브 컴파일해야 하는 경우 GraalVM 프로젝트 소개 스프링 AOT 엔진 소개 네이티브 컴파일과 관련된 문제 해결 소스코드의 변경 사항 __그레이들 빌드 파일 업데이트 __도달 가능성 메타데이터 및 사용자 지정 힌트 제공 __application.yml 파일에서 빌드 시점에 스프링 빈 활성화 __업데이트된 런타임 속성 __GraalVM 네이티브 이미지 트레이싱 에이전트 구성 __test-em-all.bash 검증 스크립트의 업데이트 네이티브 이미지의 테스트와 컴파일 __트레이싱 에이전트 실행 __네이티브 테스트 실행 __현재 OS용 네이티브 이미지 생성 __네이티브 이미지를 도커 이미지로 생성 도커 컴포즈를 이용한 테스트 __AOT 모드를 비활성화한 상태에서 자바 VM 기반 마이크로서비스 테스트 __AOT 모드를 활성화한 상태에서 자바 VM 기반 마이크로서비스 테스트 __네이티브 컴파일된 마이크로서비스 테스트 쿠버네티스를 이용한 테스트 정리 문제 |
Magnus Larsson
트랜스메이트의 다른 상품
|
★ 이 책에서 다루는 내용 ★
◎ 스프링 부트를 활용한 반응형 마이크로서비스 구축 ◎ 스프링 클라우드를 활용한 탄력적이고 확장 가능한 마이크로서비스 개발 ◎ OAuth 및 스프링 시큐리티를 활용한 API 보호 ◎ 도커를 이용한 개발, 테스트, 생산 환경 간의 격차 해소 ◎ 쿠버네티스를 이용한 마이크로서비스 배포 및 관리 ◎ 이스티오를 적용해 보안, 관찰 가능성, 트래픽 관리를 개선 ◎ JUnit, 테스트 컨테이너, 그레이들, bash를 이용한 마이크로서비스 테스트 자동화 ◎ 스프링 AOT 및 GraalVM을 이용한 마이크로서비스의 네이티브 컴파일 ◎ 마이크로미터 트레이싱을 활용한 분산 추적 |