본문내용 바로가기
MD의선택 무료배송 이벤트 소득공제

스프링 마이크로서비스 스프링 부트와 스프링 클라우드로 배우는

acorn+PACKT 시리즈 | 페이퍼백
라제시 RV 지음 | 오명운 , 박소은 , 허서윤 , 이완근 옮김 | 양수열 감수 | 에이콘출판 | 2017년 07월 27일 출간
클로버 리뷰쓰기

이 책의 다른 상품 정보

  • 정가 : 40,000원
    판매가 : 36,000 [10%↓ 4,000원 할인]
  • 통합포인트 :
    [기본적립] 2,000원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2천원 추가적립 안내 [회원혜택] 실버등급 이상, 3만원 이상 구매 시 2~4% 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 개정정보 : 2018년 02월 출간된 개정판이 있습니다. 개정판 보기
  • 도서상태 : 절판

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • 클라우드 네이티브로 가는 여정을 밝혀줄 책 모음전
    2020.04.09 ~ 2022.05.31
  • MANNING, O'REILLY, PACKT, WILE..
    2016.03.07 ~ 2021.12.31
상품상세정보
ISBN 9791161750286(1161750282)
쪽수 600쪽
크기 190 * 236 * 32 mm /1137g 판형알림
원서명/저자명 Spring Microservices/Rajesh RV

책소개

이 책이 속한 분야

국내 많은 곳에서 마이크로서비스를 도입하거나 도입하려는 움직임을 볼 수 있다. 기존의 일체형 시스템 개발과 비교해보면 마이크로서비스의 장점을 개념적으로는 쉽게 이해할 수 있지만, 이를 실제로 구현해내려면 여러 가지 기술과 도구의 도움이 필요하다. 『스프링 마이크로서비스』는 스프링 부트와 스프링 클라우드 기술을 바탕으로 항공 운항 시스템을 마이크로서비스로 구현하는 과정을 다루고 있다. 일반적인 스프링 부트 웹 애플리케이션에서 시작하며, 스프링 클라우드 기술을 적용해 처음부터 끝까지 하나의 마이크로서비스를 구축해가는 전체 과정을 보여준다. 새로운 서비스의 구현뿐만 아니라, 이미 일체형 아키텍처로 구현된 프로젝트를 마이크로서비스로 전환하는 과정도 포함돼 실무에 직접적인 도움을 줄 수 있다.

작가의 말

마이크로서비스는 복잡한 시스템을 더 작은 여러 개의 서비스로 나눠서 대규모의 비즈니스 서비스를 처리하는 아키텍처 스타일이나 패턴이다. 마이크로서비스는 자율적이고, 자기 완비적(self-contained)이며, 독립적으로 배포할 수 있다. 오늘날 많은 기업에서는 대규모의 서비스 지향 기업 애플리케이션을 마이크로서비스로 만드는 것을 표준으로 삼는다.
스프링(Spring)은 개발자 커뮤니티에서 오랫동안 사랑받아온 프로그래밍 프레임워크다. 스프링 부트(Spring Boot)는 무거운 애플리케이션 컨테이너를 제거하고 가볍고 서버리스(server-less)한 애플리케이션 배포를 가능하게 했다. 스프링 클라우드(Spring Cloud)는 많은 넷플릭스(Netflix) 컴포넌트를 조합해서 대규모의 마이크로서비스를 실행하고 운영할 수 있는 생태계를 제공한다. 스프링 클라우드는 부하 분산, 서비스 레지스트리, 모니터링, 서비스 게이트웨이 등의 기능을 포함하고 있다.
하지만 마이크로서비스에도 모니터링, 운영, 배포, 확장, 의존 대상 서비스 발견 등 어려운 부분이 많다. 특히 대규모 배포에서 더 그렇다. 이런 공통된 난관을 해결하지 않고 마이크로서비스를 도입하면 큰 실패로 이어질 수 있다. 이 책은 마이크로서비스 역량 모델에 대한 기술 진단을 통해 마이크로서비스 적용 시 마주칠 수 있는 공통적인 난관을 해결하는 데 도움을 주는 것을 가장 중요한 목적으로 두고 있다.
이 책의 목표는 독자들에게 응답성 좋은 대규모의 마이크로서비스를 구현하는 실용적인 접근 방식이나 가이드라인을 알려주는 것이다. 독자들은 이 책에서 스프링 부트, 스프링 클라우드, 도커(Docker), 메소스(Mesos), 마라톤(Marathon)을 자세히 살펴볼 수 있을 것이다. 스프링 부트를 통해 무거운 애플리케이션 서버가 필요 없는 자율적이고 서버리스한 서비스를 만드는 방법을 이해하고, 스프링 클라우드의 서로 다른 여러 방면의 기능을 알아보며, 도커를 이용한 컨테이너화와 메소스를 이용한 자원 추상화 및 마라톤을 활용한 클러스터 제어에 대해 알게 될 것이다.
독자들이 이 책의 모든 부분을 즐겁게 읽을 수 있을 것이라 확신한다. 또한 각자의 비즈니스에 마이크로서비스를 성공적으로 도입하는 것을 상상할 수 있게 해줌으로써 무한한 가치를 전달해줄 수 있다고 믿는다. 이 책에는 여행 비즈니스 도메인을 대상으로 한 사례 연구를 비롯한 다양한 예제와 마이크로서비스 구현의 실질적인 부분이 담겨 있다. 책을 다 보고 나면 확장 가능한 마이크로서비스를 개발하고 배포하는 데 있어 실무에서 철저한 테스트를 거쳐 입증된 스프링 프레임워크, 스프링 부트, 스프링 클라우드를 통해 마이크로서비스 아키텍처를 구현하는 방법을 알게 될 것이다. 이 책은 최신 스펙의 스프링을 기준으로 독자들이 인터넷을 통해 들어오는 대규모의 다양한 요청을 처리할 수 있는 현대적인 자바 애플리케이션을 즉시 만들 수 있게 해 줄 것이다.

목차

1장. 쉽게 알아보는 마이크로서비스
__마이크로서비스로의 진화
____마이크로서비스로 진화의 촉매:비즈니스적 요구
____마이크로서비스로 진화의 촉매: 기술
____명령형 아키텍처의 진화
__마이크로서비스란 무엇인가?
__마이크로서비스와 벌집
__마이크로서비스의 원칙
____서비스 하나에 책임도 하나
____마이크로서비스는 자율적
__마이크로서비스의 특징
____서비스는 일급 시민
____마이크로서비스 안에 있는 서비스들의 특징
____마이크로서비스는 경량
____다양한 언어로 구성할 수 있는 마이크로서비스
____마이크로서비스 환경에서의 자동화
____마이크로서비스를 지원하는 생태계
____동적이고 분산돼 있는 마이크로서비스
____붕괴 저항성, 빨리 실패하기, 자체 치유
____마이크로서비스 예제
__휴일 정보 포털의 예
____마이크로서비스 기반의 주문 관리 시스템
____여행사 포털 사례
__마이크로서비스의 장점
____폴리글랏 아키텍처 지원
____실험과 혁신 유도
____탄력적이고 선택적인 확장
____대체 가능성
____유기적 시스템 구축 유도
____기술적 부채 경감
____다양한 버전의 공존
____자기 조직 시스템 구축 지원
____이벤트 주도 아키텍처 지원
____데브옵스 지원
__다른 아키텍처 스타일과의 관계
____SOA와의 관계
______서비스 지향 통합
______기존 시스템의 현행화
______서비스 지향 애플리케이션
______SOA를 사용한 일체형의 전환
____12 요소 애플리케이션과의 관계
______단일 코드 베이스
______의존성 꾸러미
______환경설정 외부화
______후방 지원 서비스 접근성
______빌드, 출시, 운영 사이의 고립성
______무상태,비공유 프로세스
______서비스를 포트에 바인딩해서 노출
______확장을 위한 동시성
______폐기 영향 최소화
______개발과 운영의 짝 맞춤
______로그 외부화
______패키지 매니저 프로세스
__마이크로서비스 사용 사례
____마이크로서비스를 일찍 도입한 조직
____공통적인 주제는 일체형의 전환
__정리


2장. 스프링 부트로 만드는 마이크로서비스
__개발 환경 구축
__RESTful 서비스 만들기: 기존 방식
__전통적인 웹 애플리케이션에서 마이크로서비스로의 전환
__스프링 부트로 RESTful 마이크로서비스 만들기
__스프링 부트 시작
__CLI를 활용한 스프링 부트 마이크로서비스 개발
__STS를 활용한 스프링 부트 자바 마이크로서비스 개발
____POM 파일
____Application.java
____application.properties
____ApplicationTests.java
____스프링 부트 마이크로서비스 테스팅
__Spring Initializr를 활용한 스프링 부트 마이크로서비스 개발: HATEOS 예제
__다음에 알아볼 내용
__스프링 부트 환경설정
____스프링 부트 자동 환경설정의 이해
____환경설정 기본 값 변경
____환경설정 파일의 위치 변경
____사용자 정의 속성 정보 사용
____환경설정 정보 관리에 .yaml 파일 사용
____프로파일을 활용한 다중 환경설정
____환경설정 속성 정보를 읽을 수 있는 다른 방법
__내장된 기본 웹서버의 변경
__스프링 부트 보안
____마이크로서비스에 기본적인 보안 적용
____OAuth2를 사용하는 마이크로서비스 보안
__다른 도메인에 존재하는 정보 요청 활성화
__스프링 부트 메시징 구현
__종합적인 마이크로서비스 예제
__스프링 부트 액추에이터
____JConsole을 활용한 모니터링
____SSH를 활용한 모니터링
__애플리케이션 관련 정보 설정
__사용자 정의 서버 진단 모듈
____사용자 정의 지표
__마이크로서비스 문서화
__정리


3장. 마이크로서비스 개념 적용
__패턴 및 설계상의 일반적인 의사 결정
____적절한 마이크로서비스 경계 설정
______자율적인 기능
______배포 단위의 크기
______분리하기에 가장 적합한 기능 또는 서브도메인
______폴리글랏 아키텍처
______선택적 확장
______작고 애자일한 팀
______단일 책임
______복제 가능성과 변경 가능성
______결합과 응집
______마이크로서비스를 하나의 제품으로 생각하기
____통신 방식 설계
______동기 방식 통신
______비동기 방식 통신
______동기와 비동기, 선택의 기준
____마이크로서비스 오케스트레이션
____마이크로서비스 하나에 얼마나 많은 종단점을 둘 것인가?
____가상머신 하나당 하나의 마이크로서비스 또는 다수의 마이크로서비스
____룰 엔진:공유 또는 내장
____BPM의 역할과 작업 흐름
____마이크로서비스가 데이터 스토어를 공유할 수 있는가?
____트랜잭션 경계 설정
______트랜잭션 요구 사항을 단순화하기 위한 사용 사례의 변경
______분산 트랜잭션 시나리오
____서비스 종단점 설계 고려 사항
__계약 설계
______프로토콜 선택
____공유 라이브러리 처리
____마이크로서비스에서의 사용자 인터페이스
____마이크로서비스에서 API 게이트웨이 사용
____ESB 및 iPass와 마이크로서비스의 사용
____서비스 버저닝 고려 사항
____크로스오리진 설계
____공유 참조 데이터 처리
____마이크로서비스와 대규모 데이터 작업
__마이크로서비스의 과제
____데이터 섬
____로깅과 모니터링
____의존 관계 관리
____조직 문화
____관리 체계 문제
____운영 오버헤드
____마이크로서비스 테스팅
____인프라스트럭처 프로비저닝
__마이크로서비스 역량 모델
____핵심 역량
____인프라스트럭처 역량
____지원 역량
____프로세스 및 통제 역량
__정리


4장. 마이크로서비스의 진화: 사례 연구
__마이크로서비스 역량 모델 다시 보기
__PSS 애플리케이션의 이해
____비즈니스 절차적 관점
____기능적 관점
____구조적 관점
____설계 관점
____구현 관점
____배포 관점
__일체형의 죽음
____문제점
____간극 메우기를 멈추기
____회고
______공유 데이터
______단일 데이터베이스
______도메인 경계
__마이크로서비스의 구원
__비즈니스 사례
__진화 계획
____진화론적 접근
____마이크로서비스의 경계 식별
______의존 관계 분석
____마이그레이션을 위한 마이크로서비스 우선순위 지정
____마이그레이션 중의 데이터 동기화
____참조 데이터 관리
____사용자 인터페이스와 웹 애플리케이션
______세션 관리 및 보안
____테스트 전략
____생태계 역량 구축
__필요할 때만 모듈을 마이그레이션
__목표 구조
____마이크로서비스의 내부 계층 구조
____마이크로서비스 조직화
____다른 시스템과의 통합
____공유 라이브러리 관리
____예외 처리
__구현 목표
____프로젝트 구현
____프로젝트 실행 및 테스트
__정리


5장. 스프링 클라우드를 활용한 마이크로서비스 확장
__마이크로서비스 역량 모델 다시 보기
__브라운필드 PSS 시스템 다시 보기
__스프링 클라우드란?
____스프링 클라우드 출시 버전
____스프링 클라우드 컴포넌트 구성 요소
______스프링 클라우드와 Netflix 오픈소스 소프트웨어
__브라운필드 PSS 시스템을 위한 개발 환경설정
__Spring Cloud Config
____다음에 알아볼 내용
____Config 서버 셋업
____Config 서버 URL의 이해
______클라이언트에서 Config 서버 접근
____환경설정 정보 변경 전파 및 반영
____환경설정 변경을 전파하는 Sping Cloud Bus
____Config 서버에 고가용성 적용
____Config 서버 상태 모니터링
____Config 서버 환경설정 파일
____Config 서버를 사용하는 환경설정 외부화 완성
__선언적 REST 클라이언트 Feign
__로드 밸런서 Ribbon
__Eureka를 이용한 서비스 등록 및 발견
____동적 서비스 등록 및 발견의 이해
____Eureka의 이해
____Eureka 서버 구성
____고가용성 Eureka 서버
__Zuul 프록시 API 게이트웨이
____Zuul 설정
____고가용성 Zuul
______클라이언트가 Eureka 클라이언트이기도 할 때의 고가용성 Zuul
______클라이언트가 Eureka 클라이언트가 아닐 때의 고가용성 Zuul
____다른 모든 브라운필드 마이크로서비스에 Zuul 적용
__리액티브 마이브로서비스를 위한 스트림
__브라운필드 PSS 시스템 정리
__정리


6장. 마이크로서비스 자동 확장
__마이크로서비스 역량 모델 다시 보기
__스프링 클라우드를 활용한 마이크로서비스 확장
__자동 확장 개념의 이해
____자동 확장의 장점
____여러 가지 자동 확장 모델
______애플리케이션 자동 확장
______인프라스트럭처 자동 확장
____클라우드 자동 확장
__자동 확장 방식
____자원 제약 조건 기반의 확장
____특정 기간 동안 확장
____메시지 큐 길이 기반의 확장
____비즈니스 파라미터 기반의 확장
____예측에 의한 확장
__BrownField PSS 마이크로서비스 자동 확장
____자동 확장 시스템에 필요한 기능
____스프링 부트를 활용한 사용자 정의 라이프 사이클 매니저의 구현
____배포 토폴로지의 이해
____실행 흐름의 이해
____라이프 사이클 매니저 코드 따라가기
____라이프 사이클 매니저 실행하기
__정리


7장. 마이크로서비스 로깅 및 모니터링
__마이크로서비스 역량 모델 다시 보기
__로그 관리와 관련된 난제
__중앙 집중형 로깅
__로깅 솔루션 선택
____클라우드 서비스
____내장 가능한 로깅 솔루션
____최상의 통합
______로그 적재기
______로그 스트림 처리기
______로그 저장소
______대시보드
____사용자 정의 로깅 구현
____Spring Cloud Sleuth로 분산 로그 추적
__마이크로서비스 모니터링
____모니터링 도전 과제
____모니터링 도구
____마이크로서비스 의존 관계 모니터링
____장애를 견딜 수 있는 마이크로서비스를 위한 Spring Cloud Netflix
____Turbine을 통한 Hystrix스트림 통합
__데이터 호수를 사용한 데이터 분석
__정리


8장. 도커 컨테이너와 마이크로서비스
__마이크로서비스 역량 모델 다시 보기
__지금까지 만들어온 브라운필드 PSS 마이크로서비스의 한계
__컨테이너란 무엇인가?
__가상머신과 컨테이너의 차이
__컨테이너의 장점
__마이크로서비스와 컨테이너
__도커 소개
____도커 핵심 컴포넌트
______도커 데몬
______도커 클라이언트
____도커 주요 개념
______도커 이미지
______도커 컨테이너
______도커 레지스트리
______Dockerfile
__마이크로서비스를 도커로 배포
__도커에서 Rabbit MQ 실행
__도커 레지스트리 사용
____Docker Hub 구성
____도커 허브에 마이크로서비스 퍼블리싱
__클라우드에서의 마이크로서비스
____AWS EC2에 도커 설치
__EC2에서 브라운필드 서비스 실행
__라이프 사이클 매니저 업데이트
__컨테이너화의 미래 :유니커널과 강화된 보안
__정리


9장. 메소스와 마라톤을 이용한 도커화된 마이크로서비스 관리
__마이크로서비스 역량 모델 다시 보기
__잃어버린 조각
__클러스터 관리가 중요한 이유
__클러스터 관리가 하는 일
__마이크로서비스와의 관계
__가상화와의 관계
__클러스터 관리 솔루션
____도커 스웜
____쿠버네티스
____아파치 메소스
____노매드
____플릿
__메소스와 마라톤을 이용한 클러스터 관리
____메소스 속속들이 알아보기
______메소스 아키텍처
______마라톤
__브라운필드 마이크로서비스에 메소스와 마라톤 적용
____AWS 구성
____주키퍼, 메소스, 마라톤 설치
______주키퍼 설정
______메소스 설정
______메소스, 마라톤, 주키퍼를 서비스로서 실행
______브라운필드 PSS 서비스 준비
______브라운필드 PSS 서비스 배포
______배포 다시 보기
__라이프 사이클 매니저
____메소스와 마라톤을 사용하게 재작성한 라이프 사이클 매니저
__기술 메타모델
__정리


10장. 마이크로서비스 개발 라이프 사이클
__마이크로서비스 역량 모델 다시 보기
__린 IT의 새로운 만트라: 데브옵스
____낭비 줄이기
____가능한 모든 과정을 자동화
____가치 주도 전달
____개발과 운영의 연결
__삼총사의 만남: 마이크로서비스, 데브옵스, 클라우드
____마이크로서비스를 위한 셀프 서비스 인프라스트럭처로서의 클라우드
____마이크로서비스를 위한 관습과 프로세스로서의 데브옵스
__마이크로서비스 개발을 위한 관습
____비즈니스 동기 및 가치에 대한 이해
____프로젝트에서 제품 개발로의 사고방식 전환
____개발 철학의 선택
______디자인 사고
______스타트업 모델
______애자일 관습
____실행 가능한 최소한의 프로젝트 개념 활용
____레거시 난관 극복
____데이터베이스를 둘러싼 문제 해결
____자기 조직화 팀의 구성
____자체 클라우드 구축
____마이크로서비스 생태계 구축
____데브옵스 스타일의 마이크로서비스 라이프 사이클 프로세스 정의
______가치 주도 계획
______애자일 개발
______지속적 통합
______지속적 테스팅
______지속적 출시
______지속적 모니터링 및 피드백
____지속적 전달 파이프라인 자동화
______개발
______지속적 통합
______테스트 자동화
______지속적 배포
______모니터링과 피드백
____자동화된 설정 관리
__마이크로서비스 배포 통제 , 참조 아키텍처, 라이브러리
__정리

출판사 서평

★ 이 책에서 다루는 내용 ★
■ 마이크로서비스 아키텍처와 장점
■ 마이크로서비스 개발 시 마주하는 공통적인 문제에 대한 해결 방법
■ 마이크로서비스를 개발하는 데 사용할 스프링 부트와 스프링 클라우드의 사용 방법
■ 마이크로서비스 로깅과 모니터링 방법
■ 도커, 메소스, 마라톤으로 인터넷을 통해 들어오는 대규모의 다양한 요청을 처리하는 마이크로서비스 관리 방법
■ 마이크로서비스 통제와 개발 라이프 사이클 프로세스

★ 한국어판 추천의 글 ★
이 책을 읽어보면서 MSA를 적용하기 위해 J2EE의 구조적인 설계에서 어... 더보기

Klover 리뷰 (0)

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면
결제 90일 이내 300원, 발송 후 5일 이내 400원, 이 상품의 첫 리뷰 500원의 포인트를 드립니다.

포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
북로그 리뷰는 본인인증을 거친 회원만 작성 가능합니다.
(※ 외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외) 안내
  • 해당도서의 리뷰가 없습니다.

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①서양도서-판매정가의 12%, ②일본도서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서

안내

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품