장바구니 담기 close

장바구니에 상품을 담았습니다.

코틀린 마이크로서비스 개발

코틀린 마이크로서비스 개발

  • 후안안토니오메디나이글레시아스
  • |
  • 에이콘출판
  • |
  • 2019-01-29 출간
  • |
  • 504페이지
  • |
  • 188 X 235 X 24 mm
  • |
  • ISBN 9791161752556
판매가

33,000원

즉시할인가

29,700

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
29,700

이 상품은 품절된 상품입니다

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 이 책에서 다루는 내용 ★
▣ 마이크로서비스 아키텍처 및 원리 이해
▣ 스프링 부트 2.0 과 스프링 프레임워크 5.0을 사용해 코틀린으로 마이크로서비스 구축
▣ 스프링 웹플럭스로 넌블로킹(non-blocking) 작업을 수행하는 리액티브 마이크로서비스 생성
▣ 스프링 데이터를 사용해 몽고DB(MongoDB)에서 리액티브하게 데이터 가져오기
▣ JUnit과 코틀린으로 하는 효과적인 테스트
▣ 스프링 클라우드로 클라우드 네이티브 마이크로서비스 생성
▣ 마이크로서비스의 도커 이미지 빌드 및 게시
▣ 도커 스웜(Docker Swarm)을 활용한 마이크로서비스 확장
▣ JMX를 활용한 마이크로서비스 모니터링
▣ 오픈시프트 온라인(OpenShift Online)에서 마이크로 서비스 배포

★ 이 책의 대상 독자 ★
마이크로서비스 아키텍처에 대한 기본 지식이 있고 현재 엔터프라이즈급 웹 애플리케이션에서 서비스를 효과적으로 구현하고자 하는 코틀린 개발자라면, 이 책은 당신을 위한 것이다.

★ 이 책의 구성 ★
1장, ‘마이크로서비스 이해’에서는 마이크로서비스와 그 원리를 소개한다. 도메인 주도 설계(Domain-Driven Design), 클라우드 네이티브 마이크로서비스와 리액티브 아키텍처를 알아본다.
2장, ‘스프링 부트 2.0 시작하기’에서는 코틀린에서 처음 마이크로서비스를 개발하는 데 스프링 부트 2.0을 사용해 도움을 준다. 스프링 부트를 심도 깊게 알아볼 것이고 인텔리제이(IntelliJ) IDEA를 사용해 마이크로서비스를 구축하는 방법을 살펴본다.
3장, ‘RESTful 서비스 만들기’에서는 클라우드 네이티브 마이크로서비스를 RESTful API로 확장해 다양한 스프링 구성 요소를 소개한다.
4장, ‘리액티브 마이크로서비스 만들기’에서는 넌블로킹 리액티브 마이크로서비스를 생성한다. 스프링 웹플럭스(WebFlux)와 리액터(Reactor)를 사용해 리액티브 마이크로서비스를 구축하는 방법을 알아본다.
5장, ‘리액티브 스프링 데이터’에서는 리액티브 스프링 데이터를 사용해 몽고DB 같은 NoSQL 데이터베이스를 작업하는 방법에 중점을 둔다. 그런 다음 REST API의 CRUD 작업을 리액티브하게 생성하는 리액티브 마이크로서비스를 향상시키는 방법을 살펴본다.
6장, ‘클라우드 네이티브 마이크로서비스 만들기’에서는 클라우드 네이티브 마이크로서비스가 무엇이고, 스프링 클라우드로 쉽게 구축하는 방법을 설명한다.
7장, ‘도커 만들기’에서는 도커를 설치 및 구성해서 컨테이너를 작성, 게시, 실행하는 방법과 메이븐(Maven)을 사용해 마이크로서비스를 빌드할 때 이를 통합하는 방법에 대해 설명한다.
8장, ‘마이크로서비스 확장하기’에서는 도커에서 개인용 클라우드를 만드는 방법과 마이크로서비스를 확장하고 제어하는 방법을 살펴본다.
9장, ‘스프링 마이크로서비스 테스트’에서는 SpringBootTest와 JUnit을 사용해 마이크로서비스를 테스트하는 방법을 설명한다. Kluent를 사용해 더욱 풍부한 표현 방식으로 마이크로서비스를 테스트하는 방법을 배운다.
10장, ‘마이크로서비스 모니터링’에서는 실제 운영 시스템에서 모니터링이 중요한 이유와 스프링 부트 액추에이터(Actuator)와 JMX를 이용해 모니터하고 제어하는 마이크로서비스를 제공하는 방법에 대해 설명한다.
11장, ‘마이크로서비스 배포’에서는 마이크로서비스 도커를 오픈시프트 온라인(OpenShift Online)에 배포하는 방법과 마이크로서비스 코드가 변경될 때 깃허브를 통합해 자동 배포하는 방법을 설명한다.
12장, ‘모범 사례’에서는 마이크로서비스를 만드는 데 사용할 수 있는 업계 모범 사례를 설명한다.


목차


1장. 마이크로서비스의 이해
__마이크로서비스란 무엇인가
____SoA 이해
____SoA와 마이크로서비스의 차이점
____일체형에서 마이크로서비스로
__마이크로서비스 원칙
____설계 원칙 정의
____비즈니스 역량 중심 모델
____느슨한 결합
____단일 책임
____구현 은닉
____격리
____독립적인 배포 가능
____장애를 고려한 빌드
____확장성
____자동화
__도메인 주도 설계
____도메인 주도 설계란
__리액티브 마이크로서비스
____리액티브 프로그래밍
____리액티브 선언문
____리액티브 프레임워크
____리액티브 마이크로서비스
__클라우드 네이티브 마이크로서비스
____클라우드 컴퓨팅
____컨테이너
____배포 모델
__정리

2장. 스프링 부트 2.0 시작하기
__스프링 부트 애플리케이션 만들기
____구성
____스프링 이니셜라이저 사용
____인텔리제이 IDEA 사용
__스프링 부트 애플리케이션의 구조
____애플리케이션 오브젝트 생성
____스프링 애플리케이션 컨텍스트 정의
____컴포넌트 스캔 이해
____컴포넌트 사용
____의존 관계 자동 설정
__스프링 부트 애플리케이션 패키징 및 실행
____패키징
____WAR가 아닌 JAR로 패키징하기
____스프링 부트 애플리케이션 실행
____실행 가능한 JAR 만들기
__애플리케이션 설정
____설정 값 설정하기
____스프링 표현 언어의 이해
____프로파일 사용
____조건부 빈 만들기
____정리

3장. RESTful 서비스 만들기
__RestController의 이해
____컨트롤러란
____RestController 만들기
____컨트롤러 이해
____경로와 요청 매개 변수
____customers 맵 생성
____경로 변수 얻기
____경로 변수 이해
____요청 매개 변수 정의
____요청 매개 변수 이해
__HTTP 동사와 상태
____표준 HTTP 동사와 상태
____HTTP 동사 처리
____서비스 레이어 구현
____HTTP 상태 처리하기
____JSON으로 작업하기
____고객 클래스에 전화번호 추가
____역직렬화 이해
__오류 처리
____컨트롤러 어드바이스 사용
____비즈니스 예외 생성
____컨트롤러 어드바이스 피하기
__정리

4장. 리액티브 마이크로서비스 만들기
__스프링 웹플럭스의 이해
____스프링 웹플럭스 애플리케이션 만들기
____네티 사용하기
____RestController 추가
____Customer 서비스 만들기
____블로킹은 리액티브가 아니다
__리액티브 서비스 만들기
____구독자와 게시자
____단일 객체 게시하기
____서비스에서 모노 사용하기
____여러 객체 게시하기
____서비스에서 플럭스 사용하기
____리액티브하게 객체 수신
__함수형 웹 프로그래밍 사용하기
____RouterFunction 사용하기
____핸들러 만들기
____리액티브 서비스 사용하기
____다중 경로 처리하기
____쿼리 매개 변수 사용하기
____JSON 본문 처리하기
__리액티브 오류 처리하기
____핸들러에서 오류 캡처하기
____오류 게시
__정리

5장. 리액티브 스프링 데이터
__NoSQL 데이터베이스
____SQL 데이터베이스란
____NoSQL 데이터베이스란
____몽고DB 설치
____Mongo 클라이언트와 연결
____데이터베이스 생성
____명령 사용
__스프링 데이터 사용
____프로젝트 설정
____연결 구성
____몽고DB에 명령어 보내기
__리액티브 리포지토리
____리포지토리 생성하기
____리포지토리 사용하기
____초기화 완료
____ReactiveMongoTemplate 사용
__CRUD 연산을 위한 RESTful API
____서비스 재사용
____GET을 READ로 매핑
____POST를 CREATE로 매핑
____DELETE 매핑
__고객 검색
__정리

6장. 클라우드 네이티브 마이크로서비스 만들기
__스프링 클라우드의 이해
____클라우드 네이티브 프로그램이란 무엇인가
____스프링 클라우드 아키텍처
____스프링 클라우드 넷플릭스
____스프링 클라우드 마이크로서비스 만들기
__컨피그 서버
____컨피그 서버 만들기
____설정 얻기
____데이터 암호화
____애플리케이션 프로파일 사용하기
__서비스 탐색
____서비스 탐색 서버 만들기
____탐색 서버에 연결하기
____스프링 부트 액추에이터 사용하기
__게이트웨이
____게이트웨이 만들기
____라우터 정의
__정리

7장. 도커 생성
__도커로 시작하기
____컨테이너 이해
____도커 설치
____도커 시작하기
____이미지 가져오기
____이미지 관리
__마이크로서비스 도커 생성하기
____예제 마이크로서비스 만들기
____Dockerfile 만들기
____마이크로서비스 도커 만들기
____마이크로서비스 실행하기
____도커 게시
____도커 허브 계정 만들기
____도커 게시
____도커와 메이븐 통합하기
__정리

8장. 마이크로서비스 확장
__확장 가능한 아키텍처
____확장의 방향성
____확장 설계
____독립적 확장
____축소
__클라우드 만들기
____스웜 만들기
____서비스 추가
____서비스의 로그 확인하기
____서비스 삭제
__마이크로서비스를 서비스로 퍼블리시
____레지스트리 만들기
____마이크로서비스 만들기
____도커 만들기
____서비스 만들기
__서비스 제어하기
____인스턴스 확장
____서버스 로그 가져오기
____서비스 제어하기
__정리

9장. 스프링 마이크로서비스 테스트
__SpringBootTest 이해
____간단한 마이크로 서비스 만들기
____SpringBootTest 이해
____빈 테스트
____MockMvc 사용하기
__모의 빈 사용하기
____왜 mock을 사용하는가
____목(mock) 설치
____모의(mocked) 값 반환하기
____목(mock) 호출 검증하기
__유창한 테스트
____Kluent 추가하기
____서술적으로 서비스 테스트하기
____서술적으로 컨트롤러 테스트하기
__정리

10장. 마이크로서비스 모니터링
__모니터링의 이해
____모니터링은 무엇인가
____경고
____복구
____장애 발생 마이크로서비스 만들기
__스프링 부트 액추에이터
____스프링 부트 액추에이터 활성화
____액츄에이터의 종단점 이해
__JMX
____JMX 이해
____JMX 사용하기
__정리

11장. 마이크로서비스 배포
__설정
____깃허브 계정 생성
____깃 설치
____오픈시프트 계정 만들기
____오픈시프트 클라이언트 다운로드
__애플리케이션 빌드
____예제 마이크로서비스 만들기
____테스트 추가
____깃허브에 업로드하기
__오픈시프트에 게시
____애플리케이션 만들기
____애플리케이션 관리
____애플리케이션 업데이트
__정리

12장. 모범 사례
__코틀린 관용구 사용
____타입 추론
____표현식
____기본 매개 변수
____람다
__스프링 컨텍스트 관리
____생성자 주입
____명시적 컨텍스트 설정
__애플리케이션의 계층화
____클래스 이해
____분할
__효과적인 테스트
____테스트 유형 이해
____단위 테스트
____통합 테스트
____E2E 테스트
____그 외 테스트
____테스팅 피라미드
____테스트 주도 개발
____행위/행동 주도 개발
__CI/CD 처리
____지속적인 통합
____지속적 배포
____파이프라인
____대시보드
__정리

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.