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

도메인 주도 설계로 시작하는 마이크로서비스 개발 핵심 개념과 패턴, 설계, 구현으로 배우는 DDD와 MSA

위키북스 IT Leaders 시리즈 33
한정헌 , 유해식 , 최은정 , 이주영 지음 | 위키북스 | 2021년 04월 08일 출간
클로버 리뷰쓰기
  • 정가 : 28,000원
    판매가 : 25,200 [10%↓ 2,800원 할인]
  • 혜택 :
    [기본적립] 1400원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2,000원 추가적립 안내 [회원혜택] 회원 등급 별, 3만원 이상 구매 시 2~4% 추가적립 안내 [리뷰적립] 리뷰 작성 시 e교환권 최대 300원 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    당일배송 지금 주문하면 오늘( 2일,목) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

이 책의 이벤트

해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.
  • 2021 올해의 IT 책 투표하고 e-교환권 받으세요!(선착순 ..
    2021.11.22 ~ 2021.12.03
  • 컴퓨터/IT 도서 2만원 이상 구매 시 개발자 매거진 사은품 선..
    2021.11.11 ~ 2021.12.31
  • 2022 캘린더 수록한 IT독자를 위한 readIT 노트 사은품
    2021.10.14 ~ 2021.12.31
  • 클라우드 네이티브로 가는 여정을 밝혀줄 책 모음전
    2020.04.09 ~ 2022.12.31
  • 책을 통해 성장해나가는 개발자를 응원합니다.
    2017.06.22 ~ 2025.07.31
상품상세정보
ISBN 9791158392468(115839246X)
쪽수 436쪽
크기 174 * 234 * 31 mm /941g 판형알림

책소개

이 책이 속한 분야

넷플릭스, 우버, 아마존, 쿠팡 등의 대규모 인터넷 서비스를 제공하는 회사들의 애플리케이션은 어떤 구조로 만들어졌을까? 가상화되고 유연하게 변경되는 클라우드 인프라에 최적화된 애플리케이션 형태는 무엇일까?

이러한 질문의 해답이 되는 애플리케이션 형태가 바로 마이크로서비스이며, 마이크로서비스는 클라우드 환경에서 가장 진화된 애플리케이션 형태다.

이 책은 마이크로서비스 개발에 입문하고자 하는 분들을 위해 전반적인 마이크로서비스 아키텍처의 개념과 주요 패턴들을 소개하고 마이크로서비스 개발 방법으로 가장 주목받는 도메인 주도 설계를 살펴본다. 특히 도메인 주도 설계의 업무 분석 및 설계 기법인 이벤트 스토밍을 통해 업무를 빠르게 분석하고 마이크로서비스를 도출 및 설계하는 방법을 소개한다.

이 책은 초심자도 쉽게 이해할 수 있게 마이크로서비스의 전반적인 개념을 설명한 후 실제 마이크로서비스 개발을 위한 아키텍처 정의, 마이크로서비스 도출, 도메인 모델 설계, 구현, 빌드 및 배포와 같은 마이크로서비스 개발 활동들을 단계별로 알아본다.

목차

▣ 01장: 아마존 비즈니스 민첩성의 비밀
1.1 성공한 인터넷 기업들과 비즈니스 민첩성
___1.1.1 성공 사례: 아마존의 배포 속도
___1.1.2 클라우드 인프라의 등장
___1.1.3 클라우드 인프라에 어울리는 애플리케이션의 조건
______스케일 업과 스케일 아웃
______특정 서비스만 탄력성 있게 확장(스케일 아웃)
______클라우드 프렌들리와 클라우드 네이티브
1.2 마이크로서비스란 무엇인가?
___1.2.1 모노리스와 마이크로서비스 비교
___1.2.2 SOA와 마이크로서비스
1.3 마이크로서비스를 위한 조건은 무엇인가?
___1.3.1 조직의 변화: 업무 기능 중심 팀
___1.3.2 관리체계의 변화: 자율적인 분권 거버넌스, 폴리글랏
___1.3.3 개발 생명주기의 변화: 프로젝트가 아니라 제품 중심으로
___1.3.4 개발 환경의 변화: 인프라 자동화
___1.3.5 저장소의 변화: 통합 저장소가 아닌 분권 데이터 관리
___1.3.6 위기 대응 방식의 변화: 실패를 고려한 설계
1.4 정리

▣ 02장: MSA의 이해
2.1 리액티브 선언: 현대 애플리케이션이 갖춰야 할 바람직한 속성들
2.2 강 결합에서 느슨한 결합의 아키텍처로의 변화
2.3 마이크로서비스의 외부 아키텍처와 내부 아키텍처
2.4 MSA 구성요소 및 MSA 패턴
___2.4.1 인프라 구성요소
______퍼블릭 클라우드와 베어 메탈, 프라이빗 클라우드 환경
______VM과 컨테이너
______컨테이너 오케스트레이션
______그 밖의 다양한 클라우드 인프라 서비스
___2.4.2 마이크로서비스 운영과 관리를 위한 플랫폼 패턴
______개발 지원 환경: 데브옵스 인프라 구성
______빌드/배포 파이프라인 설계
______마이크로서비스 생태계와 운영 관리 요소의 탄생
______경험으로 획득한 지혜: 마이크로서비스 관리/운영 패턴
______스프링 클라우드: 스프링 부트 + 넷플릭스 OSS
______다양한 서비스의 등록 및 탐색을 위한 서비스 레지스트리, 서비스 디스커버리 패턴
______서비스 단일 진입을 위한 API 게이트웨이 패턴
______BFF 패턴
______외부 구성 저장소 패턴
______인증/인가 패턴
______장애 및 실패 처리를 위한 서킷 브레이커 패턴
______모니터링과 추적 패턴
______중앙화된 로그 집계 패턴
______MSA 기술 변화 흐름
______서비스 메시 패턴
___2.4.3 애플리케이션 패턴
______UI 컴포지트 패턴 또는 마이크로 프런트엔드
______마이크로서비스 통신 패턴
______저장소 분리 패턴
______분산 트랜잭션 처리 패턴
______읽기와 쓰기 분리: CQRS 패턴
______API 조합과 CQRS
______쓰기 최적화: 이벤트 소싱 패턴
2.5 정리

▣ 03장: 마이크로서비스 애플리케이션 아키텍처
3.1 비즈니스 로직은 어디에? - 관심사의 분리
___3.1.1 데이터베이스 중심 아키텍처의 문제점
3.2 헥사고날 아키텍처와 클린 아키텍처
___3.2.1 레이어드 아키텍처
___3.2.2 헥사고날 아키텍처
___3.2.3 클린 아키텍처
3.3 마이크로서비스의 내부 구조 정의
___3.3.1 바람직한 마이크로서비스의 내부 아키텍처: 클린 마이크로서비스
___3.3.2 내부 영역 - 업무 규칙
______트랜잭션 스크립트 패턴
______도메인 모델 패턴
______도메인 주도 설계의 애그리거트 패턴
___3.3.3 외부 영역 - 세부사항
______API 퍼블리싱 어댑터
______API 프락시 어댑터
______저장소 처리 어댑터
______도메인 이벤트 발행 어댑터
______도메인 이벤트 핸들러
3.4 정리

▣ 04장: 마이크로서비스와 애자일 개발 프로세스
4.1 도메인 주도 설계와 마이크로서비스
4.2 기민한 설계/개발 프로세스
___4.2.1 점진/반복적인 스크럼 생명주기
___4.2.2 아키텍처 정의와 마이크로서비스 도출
___4.2.3 스프린트 내 개발 공정
4.3 정리

▣ 05장: 마이크로서비스 설계
5.1 마이크로서비스를 도출하는 방법
___5.1.1 비즈니스 능력에 근거한 도출
___5.1.2 DDD의 바운디드 컨텍스트 기반 도출
5.2 DDD에서의 설계
5.3 DDD의 전략적 설계
___5.3.1 도메인과 서브도메인
___5.3.2 유비쿼터스 언어와 도메인 모델, 바운디드 컨텍스트
___5.3.3 컨텍스트 매핑
______주요 컨텍스트 매핑 관계
______컨텍스트 맵
5.4 이벤트 스토밍을 통한 마이크로서비스 도출
___5.4.1 이벤트 스토밍 워크숍 준비
___5.4.2 이벤트 스토밍 워크숍 진행
5.5 마이크로서비스 상세설계
___5.5.1 프런트엔드 모델링
___5.5.2 백엔드 모델링
______API 설계
5.6 도메인 모델링
___5.6.1 DDD의 전술적 설계(도메인 모델링 구성요소)
______엔티티
______값 객체
______표준 타입
______애그리거트
______도메인 서비스
______도메인 이벤트
5.7 정리

▣ 06장: 사례 연구 - 마이크로서비스 도출과 아키텍처 구성
6.1 요구사항 정의
6.2 이벤트 스토밍을 통한 마이크로서비스 도출
___6.2.1 이벤트 스트밍 워크숍
___6.2.2 바운디드 컨텍스트 식별
___6.2.3 컨텍스트 다이어그램
___6.2.4 이벤트 스토밍 결과를 헥사고날 아키텍처로 표현하기
6.3 외부 아키텍처 정의
6.4 내부 아키텍처 정의
___6.4.1 패키지 구조 및 명명 규칙
6.5 JHipster를 활용한 아키텍처 구성
___6.5.1 MSA 외부 아키텍처 구성(게이트웨이, 레지스트리 서비스)
___6.5.2 마이크로서비스 빠르게 만들어 보기
___6.5.3 백엔드 서비스의 프로젝트 구조 리팩터링
6.6 정리

▣ 07장: 사례연구- 백엔드 마이크로서비스 구현
7.1 도서 대출 마이크로서비스 개발
___7.1.1 구현 기능 소개
___7.1.2 내부 아키텍처 결정
___7.1.3 API 설계
___7.1.4 도메인 모델링
___7.1.5 유스케이스 흐름
___7.1.6 내부 영역 - 도메인 모델 개발(도서 대출, 반납)
___7.1.7 내부 영역 - 서비스 개발
___7.1.8 내부 영역 - 리포지토리 개발
___7.1.9 외부 영역 - REST 컨트롤러 개발
___7.1.10 외부 영역 - 아웃바운드 어댑터 개발(동기 호출)
______타 서비스에 대한 동기 호출: 페인 클라이언트 연결
______EnableFeignClients 처리
___7.1.11 외부 영역 - 아웃바운드 어댑터 개발(비동기 호출 EDA 구현)
______타 서비스에 대한 비동기 호출 처리: 카프카를 이용한 EDA 구현
______대출 서비스에 카프카 Producer 만들기
______도메인 이벤트 객체 - StockChanged.java
______도서 마이크로서비스에 컨슈머(Consumer) 어댑터 구현하기
___7.1.12 내부 영역 - 도메인 모델 개발: 도서 연체 및 연체된 도서 반납
______서비스 흐름 처리
___7.1.13 내부 영역 - 도메인 모델 개발: 대출 불가 해제 처리 기능 구현
___7.1.14 외부 영역 - REST 컨트롤러 개발
7.2 사용자 마이크로서비스 개발
___ 7.2.1 사용자 마이크로서비스의 기능 소개
___ 7.2.2 API 설계
___ 7.2.3 도메인 모델링
___ 7.2.4 유스케이스 흐름
___ 7.2.5 내부 영역 - 도메인 모델 개발
___ 7.2.6 내부 영역 - 서비스 개발
___ 7.2.7 내부 영역 - 리포지토리 개발
___ 7.2.8 외부 영역 - REST 컨트롤러 개발
___ 7.2.9 외부 영역 - 아웃바운드 어댑터 개발
7.3 사용자 마이크로서비스 - 포인트 관리 기능 구현
___ 7.3.1 기본 포인트 부여 기능 구현
___ 7.3.2 포인트 적립/결제 기능 구현
______User 엔티티의 포인트 적립 메서드 - User.java
______User 엔티티의 포인트 결제 메서드 - User.java
7.3.3 포인트 적립, 결제 기능에 대한 호출 구현
7.4 정리

▣ 08장: CQRS 패턴을 활용한 백엔드 마이크로서비스 개발
8.1 도서 마이크로서비스 개발
___ 8.1.1 구현 기능 소개
___ 8.1.2 내부 아키텍처 결정
___ 8.1.3 API 설계
___ 8.1.4 도메인 모델링
___ 8.1.5 입고 도서 등록과 재고 도서 등록에 대한 유스케이스 흐름
___ 8.1.6 내부 영역 - 도메인 모델 개발
___ 8.1.7 내부 영역 - 서비스 개발
___ 8.1.8 내부 영역 - 리포지토리 개발
___ 8.1.9 외부 영역 - REST 컨트롤러 개발
___ 8.1.10 외부 영역 - 아웃바운드 어댑터 개발
___ 8.1.11 외부 영역 - 인바운드 어댑터 개발
8.2 도서 카탈로그 마이크로서비스
___ 8.2.1 기능 소개
___ 8.2.2 내부 아키텍처 결정
___ 8.2.3 API 설계
___ 8.2.4 도메인 모델링
___ 8.2.5 내부 영역 - 도메인 모델 개발
___ 8.2.6 내부 영역 - 서비스 개발
___ 8.2.7 내부 영역 - 리포지토리 개발
___ 8.2.8 외부 영역 - REST 컨트롤러 개발
___ 8.2.9 외부 영역 - 인바운드 어댑터 개발
8.3 정리

▣ 09장: 사례 연구 - 시연 수행
9.1 서비스 동작 환경 실행
9.2 게이트웨이와 마이크로서비스 동작시키기
9.3 웹 화면에서 시나리오 테스트하기
9.4 정리

▣ 10장: 애플리케이션 통합과 배포
10.1 통합 및 배포 파이프라인 정의
___ 10.1.1 지속적 통합
___ 10.1.2 지속적 배포
10.2 GCP 배포 환경 구성
___ 10.2.1 GCP 환경설정
___ 10.2.2 GKE 생성
10.3 JHipster를 이용한 애플리케이션 배포
___ 10.3.1 지속적 통합
___ 10.3.2 지속적 배포
10.4 정리

출판사 서평

★ 이 책에서 다루는 내용 ★

◎ 마이크로서비스의 주요 개념과 마이크로서비스 아키텍처 패턴
◎ JHipster를 이용한 마이크로서비스 아키텍처 구현
◎ 이벤트 스토밍 기법을 활용한 마이크로서비스 도출
◎ 도메인 모델 중심의 마이크로서비스 내부 설계
◎ 카프카를 활용한 이벤트 기반 마이크로서비스 개발과 클라우드 환경 배포

Klover 리뷰 (0)

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

북로그 리뷰는 본인 인증 후 작성 가능합니다.
책이나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 내용은 비공개 처리 될 수 있습니다.
※ 북로그 리뷰 리워드 제공 2021. 4. 1 종료

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매 후 문장수집 작성 시, 리워드를 제공합니다. 안내

교환/반품/품절안내

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

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

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