상세정보
미리보기
마이크로서비스 아키텍처 구축 : 대용량 시스템의 효율적인 분산 설계 기법 | MSA 핵심 용어집 수록, 설계/아키텍처 분야 아마존 베스트셀러
- 저자
- 샘 뉴먼 저/정성권 역
- 출판사
- 한빛미디어
- 출판일
- 2023-06-19
- 등록일
- 2023-07-19
- 파일포맷
- PDF
- 파일크기
- 6MB
- 공급사
- YES24
- 지원기기
-
PC
PHONE
TABLET
웹뷰어
프로그램 수동설치
뷰어프로그램 설치 안내
책소개
마이크로서비스 기초부터 구현까지 사람과 조직을 고려한 실전 마이크로서비스 아키텍처 구축 가이드* 설계/아키텍처 분야 아마존 베스트셀러* 마이크로서비스 아키텍처 핵심 용어집 수록“마이크로서비스 아키텍처는 매력적인 특징이 많지만, 마이크로서비스 아키텍처로 향하는 길에서 주의하지 않는 다면 고통스러운 함정에 맞닥뜨리게 된다.” - 마틴 파울러 전 세계 프로그래머에게 필수 책인 『리팩터링 2판』의 저자 마틴 파울러가 극찬한 『마이크로서비스 아키텍처 구축』이 전면 개정되어 돌아왔습니다. 모두가 기다려온 『마이크로서비스 아키텍처 구축(전면 개정판)』은 마이크로서비스와 관련된 모든 측면에 대해 광범위한 개요를 제공하고자 했습니다. 1판에서 마이크로서비스 개념을 주로 다뤘다면, 이번에는 그 기본 토대 위에 소프트웨어 배포 프로세스 측면과 마이크로서비스 아키텍처를 채택함으로써 발생하는 영향까지 함께 다룹니다. 초판 출간 후 지난 5년 동안 마이크로서비스의 변화와 새롭게 등장한 기술도 함께 다뤄 1판보다 2배가 넘도록 지면을 풍부하게 채웠습니다. 이 책은 총 3부에 걸쳐 마이크로서비스 아키텍처 구축에 대해 설명합니다. 1부 기초, 2부 구현, 3부 사람으로 구성되어 있습니다. 1부에서는 마이크로서비스의 핵심 아이디어를 설명하고, 2부에서는 개념에서 구현 상세로 넘어가 마이크로서비스를 활용하는 데 도움이 되는 기법과 기술을 살펴봅니다. 마지막으로 3부에서는 1부, 2부에서 배운 내용을 토대로 사람과 조직의 입장에서 기술을 구현해내는 과정을 설명합니다.
저자소개
전 세계에 걸쳐 여러 도메인에서 다양한 회사와 협력해온 개발자이자 아키텍트, 작가이자 연사다. 여러 스타트업과 소트웍스(ThoughtWorks)에서 12년 동안 일한 후, 요즘은 독립 컨설턴트로 활동한다. 마이크로서비스, 클라우드, 지속적 배포를 전문으로 하며, 전 세계 고객을 대상으로 훈련과 컨설팅을 통해 소프트웨어를 더 빠르고 더 안정적으로 배포하는 방법을 전파하고 있다. 세계적인 여러 컨퍼런스에서 발표한 유명 연사며, 『마이크로서비스 아키텍처 구축』(한빛미디어, 2017)을 집필했다.
새로운 기술이 급부상하는 시기가 아니라면, 이스트 켄트의 시골에서 다양한 형태의 스포츠를 즐기는 뉴먼을 만날 수 있을 것이다.
목차
PART 1 기초CHAPTER 1 마이크로서비스란?_1.1 마이크로서비스 살펴보기_1.2 마이크로서비스의 핵심 개념 _1.3 모놀리스_1.4 활성화 기술_1.5 마이크로서비스의 장점_1.6 마이크로서비스의 고충_1.7 마이크로서비스를 사용해야 하는가? 요약CHAPTER 2 마이크로서비스 모델링 방법_2.1 뮤직코프 소개 _2.2 올바른 마이크로서비스 경계를 만드는 것은 무엇인가? _2.3 결합 유형 _2.4 딱 도메인 주도 설계만큼 _2.5 마이크로서비스를 위한 도메인 주도 설계 사례_2.6 비즈니스 도메인 경계에 대한 대안 _2.7 혼합 모델과 예외요약CHAPTER 3 모놀리스 분해_3.1 목표를 가져라_3.2 점진적 마이그레이션 _3.3 모놀리스가 적인 경우는 드물다_3.4 무엇을 먼저 나눌까? _3.5 계층별 분해_3.6 유용한 분해 패턴 _3.7 데이터 분해에 대한 우려 요약CHAPTER 4 마이크로서비스 통신 방식_4.1 프로세스 내부에서 프로세스 사이로 _4.2 프로세스 간 통신을 위한 기술: 다양한 선택 _4.3 마이크로서비스 통신 방식_4.4 패턴: 동기식 블로킹 _4.5 패턴: 비동기식 논블로킹_4.6 패턴: 공통 데이터를 통한 통신_4.7 패턴: 요청 및 응답 통신 _4.8 패턴: 이벤트 기반 통신_4.9 조심해서 진행하라 요약PART 2 구현CHAPTER 5 마이크로서비스 통신 구현_5.1 이상적인 기술을 찾아서_5.2 기술 선택 _5.3 직렬화 포맷_5.4 스키마_5.5 마이크로서비스 간의 변경 처리_5.6 중단 변경 피하기_5.7 중단 변경 관리하기 _5.8 마이크로서비스 세계에서 DRY와 코드 재사용의 위험_5.9 서비스 디스커버리 _5.10 서비스 메시와 API 게이트웨이 _5.11 서비스 문서화요약CHAPTER 6 워크플로_6.1 데이터베이스 트랜잭션_6.2 분산 트랜잭션 - 2단계 커밋_6.3 분산 트랜잭션 - 그냥 안 된다고 하라_6.4 사가 패턴요약CHAPTER 7 빌드_7.1 지속적 통합에 대한 간략한 소개 _7.2 빌드 파이프라인과 지속적 제공_7.3 소스 코드와 빌드를 마이크로서비스에 매핑하기요약CHAPTER 8 배포_8.1 논리적에서 물리적으로_8.2 마이크로서비스 배포의 원칙_8.3 배포 방법 _8.4 어떤 배포가 적합할까?_8.5 쿠버네티스와 컨테이너 오케스트레이션 _8.6 점진적 제공요약CHAPTER 9 테스트_9.1 테스트 유형_9.2 테스트 범위_9.3 서비스 테스트의 구현_9.4 까다로운 엔드투엔드 테스트의 구현 _9.5 엔드투엔드 테스트를 피해야 할까? _9.6 개발자 경험_9.7 운영 환경 전 테스트에서 운영 환경 내 테스트로_9.8 교차 기능 테스트요약 CHAPTER 10 모니터링에서 관찰가능성으로_10.1 분열, 공황 그리고 혼란 _10.2 단일 마이크로서비스, 단일 서버 _10.3 단일 마이크로서비스, 다수 서버 _10.4 다수 마이크로서비스, 다수 서버_10.5 관찰가능성 대 모니터링_10.6 관찰가능성의 구성 요소_10.7 표준화 _10.8 도구 선택_10.9 기계화된 전문가 _10.10 시작하기요약 CHAPTER 11 보안_11.1 핵심 원칙_11.2 사이버 보안의 다섯 가지 기능_11.3 애플리케이션 보안의 기초_11.4 암묵적 신뢰 대 제로 트러스트 _11.5 데이터 보안_11.6 인증과 권한 부여CHAPTER 12 회복 탄력성_12.1 회복 탄력성이란?_12.2 장애는 어디에서나 발생한다_12.3 얼마나 많아야 너무 많은 건가?_12.4 기능 저하_12.5 안정성 패턴_12.6 위험 분산_12.7 CAP 정리 _12.8 카오스 엔지니어링_12.9 비난 요약 CHAPTER 13 확장_13.1 확장의 네 가지 축_13.2 결합 모델_13.3 작게 시작하라 _13.4 캐싱 _13.5 자동 확장_13.6 다시 시작하기요약 PART 3 사람CHAPTER 14 사용자 인터페이스_14.1 디지털을 향해 _14.2 소유권 모델_14.3 스트림 정렬 팀을 향해 _14.4 패턴: 모놀리식 프론트엔드 _14.5 패턴: 마이크로 프론트엔드_14.6 패턴: 페이지 기반 분해_14.7 패턴: 위젯 기반 분해_14.8 제약 _14.9 패턴: 중앙 집계 게이트웨이_14.10 패턴: 프론트엔드를 위한 백엔드(BFF)_14.11 그래프QL _14.12 하이브리드 방식요약 CHAPTER 15 조직 구조_15.1 느슨하게 결합된 조직 _15.2 콘웨이의 법칙_15.3 팀 규모 _15.4 콘웨이의 법칙 이해_15.5 소규모 팀, 대규모 조직 _15.6 자율성에 관해 _15.7 강력한 소유권 대 집단 소유권 _15.8 활성화 팀_15.9 공유 마이크로서비스_15.10 내부 오픈 소스_15.11 플러그 가능한 모듈식 마이크로서비스 _15.12 고아 서비스 _15.13 사례 연구: realestate.com.au_15.14 지리적 분포_15.15 콘웨이의 역법칙_15.16 사람들요약 CHAPTER 16 진화하는 아키텍트_16.1 이름에 내포된 것은?_16.2 소프트웨어 아키텍트란? _16.3 변화를 가능하게 _16.4 아키텍처에 대한 진화적 비전 _16.5 시스템 경계 정의_16.6 사회적 구조물 _16.7 거주 가능성_16.8 원칙적 접근법 _16.9 진화적 아키텍처 가이드 _16.10 스트림 정렬 조직의 아키텍처 _16.11 팀 구축_16.12 필수 기준 _16.13 거버넌스와 포장된 길 _16.14 기술 부채 _16.15 예외 처리 요약 종합정리: 조언부터 향후 전망까지 핵심 용어집