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

마이크로서비스 패턴 모놀리식 지옥에서 벗어나자!

크리스 리처드슨 지음 | 이일웅 옮김 | 길벗 | 2020년 01월 30일 출간 (1쇄 2020년 02월 03일)
클로버 리뷰쓰기
  • 정가 : 38,000원
    판매가 : 34,200 [10%↓ 3,800원 할인]
  • 통합포인트 :
    [기본적립] 1,900원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2천원 추가적립 안내 [회원혜택] 실버등급 이상, 3만원 이상 구매 시 2~4% 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    지금 주문하면 내일(24일,토) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

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

  • 취업/수험서, 컴퓨터/IT 분야 도서 3만원 이상 구매 시 샤코..
    2020.10.14 ~ 2020.11.30
  • 길벗 스마트 보드 선택(행사도서구매시)
    2020.07.13 ~ 2020.10.31
  • 클라우드 네이티브로 가는 여정을 밝혀줄 책 모음전
    2020.04.09 ~ 2022.05.31
  • 개발자로 입문하기: 일단 이것부터 읽어보자!
    2019.05.31 ~ 2020.12.31
  • 길벗 IT도서를 한눈에 살펴보세요!
    2017.11.23 ~ 2019.12.31
  • 책을 통해 성장해나가는 개발자를 응원합니다.
    2017.06.22 ~ 2025.07.31
  • MANNING, O'REILLY, PACKT, WILE..
    2016.03.07 ~ 2021.12.31
상품상세정보
ISBN 9791165210441(1165210444)
쪽수 628쪽
크기 183 * 235 * 34 mm /1109g 판형알림
원서명/저자명 Microservices Patterns/Richardson, Chris

책소개

이 책이 속한 분야

모놀리식 애플리케이션을 마이크로서비스 아키텍처로 성공적으로 전환하는 방법!

마이크로서비스 아키텍처 기반의 애플리케이션을 성공적으로 구축하려면 새로운 아키텍처의 개념을 이해하는 것뿐만 아니라 사고방식의 전환이 필요하다. 단편적인 지식으로 모놀리스를 여러 서비스로 분해한다고 성능이 좋아지는 건 아니다. 이 책은 가상의 회사 FTGO의 온라인 음식 배달 서비스 애플리케이션(모놀리식)을 마이크로서비스 아키텍처로 단계별로 전환하면서 서비스 분해, 트랜잭션, CQRS, 테스트까지 핵심 패턴을 설명한다. 또한, 단순히 패턴을 나열하는 데 그치지 않고, 저자가 수십 년간 분산 시스템을 구축하면서 경험한 문제 해결 방법과 노하우도 포함해 유용한 경험 중심의 조언이 가득하다. 마이크로서비스 도입을 고민하거나 이미 도입했지만 여러 문제를 만난 분들에게 추천한다.

상세이미지

마이크로서비스 패턴 도서 상세이미지

목차

1장 모놀리식 지옥에서 벗어나라
1.1 서서히 모놀리식 지옥에 빠져들다
__1.1.1 FTGO 애플리케이션 아키텍처
__1.1.2 모놀리식 아키텍처의 장점
__1.1.3 모놀리식 지옥의 실상
1.2 이 책의 대상 독자
1.3 이 책의 학습 내용
1.4 마이크로서비스 아키텍처가 답이다
__1.4.1 확장 큐브와 마이크로서비스
__1.4.2 마이크로서비스는 모듈성을 갖고 있다
__1.4.3 서비스마다 DB가 따로 있다
__1.4.4 FTGO 마이크로서비스 아키텍처
__1.4.5 마이크로서비스 아키텍처와 SOA
1.5 마이크로서비스 아키텍처의 장단점
__1.5.1 마이크로서비스 아키텍처의 장점
__1.5.2 마이크로서비스 아키텍처의 단점
1.6 마이크로서비스 아키텍처 패턴 언어
__1.6.1 마이크로서비스 아키텍처도 만병통치약은 아니다
__1.6.2 패턴 및 패턴 언어
__1.6.3 마이크로서비스 아키텍처 패턴 언어 개요
1.7 마이크로서비스 너머: 프로세스와 조직
__1.7.1 소프트웨어 개발/전달 조직
__1.7.2 소프트웨어 개발/전달 프로세스
__1.7.3 마이크로서비스를 받아들이는 인간적 요소
1.8 마치며

2장 분해 전략
2.1 마이크로서비스 아키텍처란 무엇인가?
__2.1.1 소프트웨어 아키텍처의 정의와 중요성
__2.1.2 아키텍처 스타일 개요
__2.1.3 마이크로서비스 아키텍처는 일종의 아키텍처 스타일이다
2.2 마이크로서비스 아키텍처 정의
__2.2.1 시스템 작업 식별
__2.2.2 서비스 정의: 비즈니스 능력 패턴별 분해
__2.2.3 서비스 정의: 하위 도메인 패턴별 분해
__2.2.4 분해 지침
__2.2.5 서비스 분해의 장애물
__2.2.6 서비스 API 정의
2.3 마치며

3장 프로세스 간 통신
3.1 마이크로서비스 아키텍처 IPC 개요
__3.1.1 상호 작용 스타일
__3.1.2 마이크로서비스 API 정의
__3.1.3 API 발전시키기
__3.1.4 메시지 포맷
3.2 동기 RPI 패턴 응용 통신
__3.2.1 동기 RPI 패턴: REST
__3.2.2 동기 RPI 패턴: gRPC
__3.2.3 부분 실패 처리: 회로 차단기 패턴
__3.2.4 서비스 디스커버리
3.3 비동기 메시징 패턴 응용 통신
__3.3.1 메시징 개요
__3.3.2 메시징 상호 작용 스타일 구현
__3.3.3 메시징 기반 서비스의 API 명세 작성
__3.3.4 메시지 브로커
__3.3.5 수신자 경합과 메시지 순서 유지
__3.3.6 중복 메시지 처리
__3.3.7 트랜잭셔널 메시징
__3.3.8 메시징 라이브러리/프레임워크
3.4 비동기 메시징으로 가용성 개선
__3.4.1 동기 통신으로 인한 가용성 저하
__3.4.2 동기 상호 작용 제거
3.5 마치며

4장 트랜잭션 관리: 사가
4.1 마이크로서비스 아키텍처에서의 트랜잭션 관리
__4.1.1 분산 트랜잭션의 필요성
__4.1.2 분산 트랜잭션의 문제점
__4.1.3 데이터 일관성 유지: 사가 패턴
4.2 사가 편성
__4.2.1 코레오그래피 사가
__4.2.2 오케스트레이션 사가
4.3 비격리 문제 처리
__4.3.1 비정상 개요
__4.3.2 비격리 대책
4.4 주문 서비스 및 주문 생성 사가 설계
__4.4.1 OrderService 클래스
__4.4.2 주문 생성 사가 구현
__4.4.3 OrderCommandHandlers 클래스
__4.4.4 OrderServiceConfiguration 클래스
4.5 마치며

5장 비즈니스 로직 설계
5.1 비즈니스 로직 구성 패턴
__5.1.1 비즈니스 로직 설계: 트랜잭션 스크립트 패턴
__5.1.2 비즈니스 로직 설계: 도메인 모델 패턴
__5.1.3 도메인 주도 설계 개요
5.2 도메인 모델 설계: DDD 애그리거트 패턴
__5.2.1 불분명한 경계 문제
__5.2.2 애그리거트는 경계가 분명하다
__5.2.3 애그리거트 규칙
__5.2.4 애그리거트 입도
__5.2.5 비즈니스 로직 설계: 애그리거트
5.3 도메인 이벤트 발행
__5.3.1 변경 이벤트를 발행하는 이유
__5.3.2 도메인 이벤트란 무엇인가?
__5.3.3 이벤트 강화
__5.3.4 도메인 이벤트 식별
__5.3.5 도메인 이벤트 생성 및 발행
__5.3.6 도메인 이벤트 소비
5.4 주방 서비스 비즈니스 로직
__5.4.1 Ticket 애그리거트
5.5 주문 서비스 비즈니스 로직
__5.5.1 Order 애그리거트
__5.5.2 OrderService 클래스
5.6 마치며

6장 비즈니스 로직 개발: 이벤트 소싱
6.1 이벤트 소싱 응용 비즈니스 로직 개발
__6.1.1 기존 영속화의 문제점
__6.1.2 이벤트 소싱 개요
__6.1.3 동시 업데이트: 낙관적 잠금
__6.1.4 이벤트 소싱과 이벤트 발행
__6.1.5 스냅샷으로 성능 개선
__6.1.6 멱등한 메시지 처리
__6.1.7 도메인 이벤트 발전시키기
__6.1.8 이벤트 소싱의 장점
__6.1.9 이벤트 소싱의 단점
6.2 이벤트 저장소 구현
__6.2.1 이벤추에이트 로컬 이벤트 저장소의 작동 원리
__6.2.2 자바용 이벤추에이트 클라이언트 프레임워크
6.3 사가와 이벤트 소싱을 접목
__6.3.1 코레오그래피 사가 구현: 이벤트 소싱
__6.3.2 오케스트레이션 사가 생성
__6.3.3 이벤트 소싱 기반의 사가 참여자 구현
__6.3.4 사가 오케스트레이터 구현: 이벤트 소싱
6.4 마치며

7장 마이크로서비스 쿼리 구현
7.1 API 조합 패턴 응용 쿼리
__7.1.1 findOrder( ) 쿼리
__7.1.2 API 조합 패턴 개요
__7.1.3 API를 조합 패턴으로 findOrder( ) 쿼리 구현
__7.1.4 API 조합 설계 이슈
__7.1.5 API 조합 패턴의 장단점
7.2 CQRS 패턴
__7.2.1 CQRS의 필요성
__7.2.2 CQRS 개요
__7.2.3 CQRS의 장점
__7.2.4 CQRS의 단점
7.3 CQRS 뷰 설계
__7.3.1 뷰 DB 선택
__7.3.2 데이터 접근 모듈 설계
__7.3.3 CQRS 뷰 추가 및 업데이트
7.4 CQRS 뷰 구현: AWS DynamoDB 응용
__7.4.1 OrderHistoryEventHandlers 모듈
__7.4.2 DynamoDB 데이터 모델링 및 쿼리 설계
__7.4.3 OrderHistoryDaoDynamoDb 클래스
7.5 마치며

8장 외부 API 패턴
8.1 외부 API 설계 이슈
__8.1.1 API 설계 이슈: FTGO 모바일 클라이언트
__8.1.2 API 설계 이슈: 다른 종류의 클라이언트
8.2 API 게이트웨이 패턴
__8.2.1 API 게이트웨이 패턴 개요
__8.2.2 API 게이트웨이의 장단점
__8.2.3 API 게이트웨이 사례: 넷플릭스
__8.2.4 API 게이트웨이 설계 이슈
8.3 API 게이트웨이 구현
__8.3.1 기성 API 게이트웨이 제품/서비스 활용
__8.3.2 API 게이트웨이 자체 개발
__8.3.3 API 게이트웨이 구현: GraphQL
8.4 마치며

9장 마이크로서비스 테스트 1부
9.1 마이크로서비스 아키텍처 테스트 전략
__9.1.1 테스트 개요
__9.1.2 마이크로서비스 테스트
__9.1.3 배포 파이프라인
9.2 서비스 단위 테스트 작성
__9.2.1 단위 테스트 작성: 엔터티
__9.2.2 단위 테스트 작성: 밸류 객체
__9.2.3 단위 테스트 작성: 사가
__9.2.4 단위 테스트 작성: 도메인 서비스
__9.2.5 단위 테스트 작성: 컨트롤러
__9.2.6 단위 테스트 작성: 이벤트/메시지 핸들러
9.3 마치며

10장 마이크로서비스 테스트 2부
10.1 통합 테스트 작성
__10.1.1 통합 테스트: 영속화
__10.1.2 통합 테스트: REST 요청/응답형 상호 작용
__10.1.3 통합 테스트: 발행/구독 스타일 상호 작용
__10.1.4 통합 계약 테스트: 비동기 요청/응답 상호 작용
10.2 컴포넌트 테스트 개발
__10.2.1 인수 테스트 정의
__10.2.2 인수 테스트 작성: 거킨
__10.2.3 컴포넌트 테스트 설계
__10.2.4 컴포넌트 테스트 작성: 주문 서비스
10.3 종단 간 테스트 작성
__10.3.1 종단 간 테스트 설계
__10.3.2 종단 간 테스트 작성
__10.3.3 종단 간 테스트 실행
10.4 마치며

11장 프로덕션 레디 서비스 개발
11.1 보안 서비스 개발
__11.1.1 기존 모놀리식 애플리케이션의 보안
__11.1.2 마이크로서비스 아키텍처에서의 보안 구현
11.2 구성 가능한 서비스 설계
__11.2.1 푸시 기반의 외부화 구성
__11.2.2 풀 기반의 외부화 구성
11.3 관측 가능한 서비스 설계
__11.3.1 헬스 체크 API 패턴
__11.3.2 로그 수집 패턴
__11.3.3 분산 추적 패턴
__11.3.4 애플리케이션 지표 패턴
__11.3.5 예외 추적 패턴
__11.3.6 감사 로깅 패턴
11.4 서비스 개발: 마이크로서비스 섀시 패턴
__11.4.1 마이크로서비스 섀시
__11.4.2 이제는 서비스 메시로
11.5 마치며

12장 마이크로서비스 배포
12.1 서비스 배포: 언어에 특정한 패키징 포맷 패턴
__12.1.1 언어에 특정한 패키징 포맷 패턴의 장점
__12.1.2 언어에 특정한 패키징 포맷 패턴의 단점
12.2 서비스 배포: 가상 머신 패턴
__12.2.1 가상 머신 패턴의 장점
__12.2.2 가상 머신 패턴의 단점
12.3 서비스 배포: 컨테이너 패턴
__12.3.1 서비스를 도커로 배포
__12.3.2 컨테이너 패턴의 장점
__12.3.3 컨테이너 패턴의 단점
12.4 FTGO 애플리케이션 배포: 쿠버네티스
__12.4.1 쿠버네티스 개요
__12.4.2 쿠버네티스 배포: 음식점 서비스
__12.4.3 API 게이트웨이 배포
__12.4.4 무중단 배포
__12.4.5 배포와 릴리스 분리: 서비스 메시
12.5 서비스 배포: 서버리스 패턴
__12.5.1 AWS 람다를 이용한 서버리스 배포
__12.5.2 람다 함수 개발
__12.5.3 람다 함수 호출
__12.5.4 람다 함수의 장점
__12.5.5 람다 함수의 단점
12.6 REST 서비스 배포: AWS 람다 및 AWS 게이트웨이
__12.6.1 음식점 서비스를 AWS 람다 버전으로 설계
__12.6.2 ZIP 파일로 서비스 패키징
__12.6.3 서버리스 프레임워크로 람다 함수 배포
12.7 마치며

13장 마이크로서비스로 리팩터링
13.1 마이크로서비스 리팩터링 개요
__13.1.1 모놀리스를 왜 리팩터링하는가?
__13.1.2 모놀리스 옥죄기
13.2 모놀리스 → 마이크로서비스 리팩터링 전략
__13.2.1 새 기능을 서비스로 구현한다
__13.2.2 표현 계층과 백엔드를 분리한다
__13.2.3 기능을 여러 서비스로 추출한다
13.3 서비스와 모놀리스 간 협동 설계
__13.3.1 통합 글루 설계
__13.3.2 서비스와 모놀리스에 걸쳐 데이터 일관성 유지
__13.3.3 인증/인가 처리
13.4 새 기능을 서비스로 구현: 배달 실패한 주문 처리
__13.4.1 배달 지연 서비스 설계
__13.4.2 배달 지연 서비스를 위한 통합 글루 설계
13.5 모놀리스 분해: 배달 관리 추출
__13.5.1 현행 배달 관리 기능
__13.5.2 배달 서비스 개요
__13.5.3 배달 서비스의 도메인 모델 설계
__13.5.4 배달 서비스의 통합 글루 설계
__13.5.5 배달 서비스와 상호 작용할 수 있게 모놀리스를 변경
13.6 마치며

한국어판 부록 a 실습 환경 구성
A.1 실습 준비
__A.1.1 운영 체제: 윈도 10 Pro
__A.1.2 하이퍼-V 가상화 지원
__A.1.3 윈도 리눅스용 하위 시스템(WSL) 기능 활성화
A.2 WSL 설치
A.3 도커 설치 및 구성
A.4 소스 내려받아 빌드하기
A.5 컨테이너 실습
__A.5.1 도커 컴포즈 실행
__A.5.2 스웨거 접속
__A.5.3 도커 컴포즈 종료
A.6 더 보기

책 속으로

2014년 1월, 저는 microservices.io라는 웹 사이트를 만들어 그때까지 경험했던 아키텍처와 디자인 패턴을 기록했습니다. 같은 해 3월 제임스 루이스(James Lewis)와 마틴 파울러(Martin Fowler)가 마이크로서비스에 관한 블로그 게시글을 올렸는데, 이 글 덕분에 마이크로서비스라는 용어가 많은 사람에게 알려졌고 소프트웨어 커뮤니티는 마이크로서비스 개념 중심으로 뭉치게 되었습니다.
규모가 작고 느슨하게 결합된 팀을 꾸려 빠르고 정확하게 마이크로서비스를 개발(develop)/전달(deliver, 인도)한다는... 더보기

출판사 서평

44가지 패턴으로 배우는
아키텍처 문제 해법과 노하우!

제대로 알고 적용하자
마이크로서비스 아키텍처 기반의 애플리케이션을 성공적으로 구축하려면 새로운 아키텍처의 개념을 이해하는 것뿐만 아니라 사고방식의 전환이 필요하다. 단편적인 지식으로 모놀리스를 여러 서비스로 분해한다고 성능이 좋아지는 건 아니다. 이 책은 마이크로서비스란 무엇인지, 어떤 장단점이 있고, 언제, 어디에 사용해야 하는지 올바른 가이드를 제시한다.

경험을 바탕으로 한 44가지 패턴으로 배우자
마이크로서비스 선구자이자 자바 챔피언인 저자가 수집하고 분류... 더보기

Klover 리뷰 (0)

북로그 리뷰 (3) 전체보기 쓰러가기

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

포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
북로그 리뷰는 본인인증을 거친 회원만 작성 가능합니다.
(※ 외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외) 안내
  • 백엔드 개발자라면 추천 md**2 | 2020-04-05 | 추천: 0 | 5점 만점에 5점
    현재 사내 서비스가 모노리스로 되어있다 그런데 여기서 문제점이 생겼다 사내 인원이 늘어나고 서비스를 같이 관리할 인원이 늘어난다면 어떻게 될까? 또 그 인원들의 기술 스택이 모두 다르다면 어떻게 될까? 프론트엔드에도 트렌드가 있듯이 백엔드에도 트렌드가 있다 그중에서도 현재 여러 크고 작은 회사에서 사용하는 아키텍처가 마이크로서비스이다. 하지만 그 유명세에 비해 마이크로서비스를 구축하면서 생기... 더보기
  • 이 책을 신청하게 된 이유는 점점 회사의 서비스가 점점 업데이트할수록 기능도 복잡해지고 유지보수도 힘들어지고 또한 기능이 확장함에 따른 테스트 및 유지보수가 갈수록 힘들어지는 상황에서 이미 좀 많이 지났지만 마이크로 서비스가 나온 지는 꽤 되었지만, 회사 내에 서비스 단에서 적용을 하려면 좀 더 다양한 사례와 노하우를 얻기 위해서 이 책을 선택하게 되었습니다. 이 책은 일단 회사 내에서 인프라 및 백 엔드 개발자분들이 보면 좋을 것 같습니다. ... 더보기
  •   서비스 패턴에 대해서 관심을 갖던 중에 발견한 책 마이크로서비스 패턴..!   드디어 도착하여 주말에 펼쳐서 읽어보았습니다..!                 표지 인증샷..!           처음에 책 구성에 대해서 설명을 해요 이 책은 기존의 모놀리식 아키텍처가 어떤 면에서  한계를 가지고 있는지 부터 시작하여, 마이크로 서비스 패턴의... 더보기

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

교환/반품/품절안내

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

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

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

이 책의 원서

안내

바로가기

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

최근 본 상품