알라딘

마이크로서비스 아키텍처 구축 - 대용량 시스템의 효율적인 분산 설계 기법

샘 뉴먼 (지은이), 정성권 (옮긴이) | 한빛미디어
  • 등록일2023-04-05
  • 파일포맷pdf
  • 파일크기4 M  
  • 지원기기아이폰, 아이패드, 안드로이드, 태블릿, PC
  • 보유현황보유 1, 대출 0, 예약 0
  • 평점 평점점 평가없음

책소개

★ 마이크로서비스, 웹 기반 분산 시스템의 디자인 패러다임을 바꾸다!

저자소개

전 세계에 걸쳐 여러 도메인에서 다양한 회사와 협력해온 개발자이자 아키텍트, 작가이자 연사다. 여러 스타트업과 소트웍스(ThoughtWorks)에서 12년 동안 일한 후, 요즘은 독립 컨설턴트로 활동한다. 마이크로서비스, 클라우드, 지속적 배포를 전문으로 하며, 전 세계 고객을 대상으로 훈련과 컨설팅을 통해 소프트웨어를 더 빠르고 더 안정적으로 배포하는 방법을 전파하고 있다. 세계적인 여러 컨퍼런스에서 발표한 유명 연사며, 『마이크로서비스 아키텍처 구축』(한빛미디어, 2017)을 집필했다.

새로운 기술이 급부상하는 시기가 아니라면, 이스트 켄트의 시골에서 다양한 형태의 스포츠를 즐기는 뉴먼을 만날 수 있을 것이다.

목차

1장. 마이크로서비스

__1.1 마이크로서비스란

__1.2 주요 혜택

__1.3 서비스 지향 아키텍처란

__1.4 기타 분해 기술

__1.5 은총알은 없다

__1.6 마치며



2장. 진화적 아키텍트

__2.1 부정확한 비교

__2.2 아키텍트에 대한 진화적 관점

__2.3 구역화

__2.4 원칙적인 접근법

__2.5 필수 기준

__2.6 코드를 통한 통제

__2.7 기술 부채

__2.8 예외 처리

__2.9 중앙에서의 거버넌스와 지휘

__2.10 팀 만들기

__2.11 마치며



3장. 서비스 모델링하기

__3.1 뮤직코퍼레이션 소개

__3.2 무엇이 좋은 서비스를 만드는가?

__3.3 경계가 있는 콘텍스트

__3.4 비즈니스 능력

__3.5 거북이 밑에 거북이

__3.6 비즈니스 콘셉트 관점에서의 커뮤니케이션

__3.7 기술적 경계

__3.8 마치며



4장. 통합

__4.1 이상적인 통합 기술 모색

__4.2 고객과의 인터페이싱

__4.3 공유 데이터베이스

__4.4 동기와 비동기

__4.5 오케스트레이션과 코레오그래피

__4.6 원격 프로시저 호출

__4.7 REST

__4.8 비동기 이벤트 기반의 협업 구현

__4.9 상태 기계로서의 서비스

__4.10 반응형 확장

__4.11 마이크로서비스 세계에서 코드 재사용의 위험과 DRY

__4.12 참조에 의한 접근

__4.13 버전 관리

__4.14 사용자 인터페이스

__4.15 외부 소프트웨어와 통합

__4.16 마치며



5장. 모놀리스 분해하기

__5.1 접합부가 중요하다

__5.2 뮤직코퍼레이션 분해하기

__5.3 모놀리스를 분리하는 이유

__5.4 뒤엉킨 의존성

__5.5 데이터베이스

__5.6 문제에 대처하기

__5.7 예: 외부 키 관계 깨뜨리기

__5.8 예: 공유된 정적 데이터

__5.9 예: 공유 데이터

__5.10 예: 공유된 테이블

__5.11 데이터베이스 리팩토링

__5.12 트랜잭션의 경계

__5.13 리포팅

__5.14 리포팅 데이터베이스

__5.15 서비스 호출을 통한 데이터 추출

__5.16 데이터 펌프

__5.17 이벤트 데이터 펌프

__5.18 백업 데이터 펌프

__5.19 실시간을 향해

__5.20 변경 비용

__5.21 원인 파악

__5.22 마치며



6장. 배포

__6.1 지속적 통합이란

__6.2 지속적 통합을 마이크로서비스로 매핑하기

__6.3 빌드 파이프라인과 지속적 배포

__6.4 플랫폼별 산출물

__6.5 운영 체제 산출물

__6.6 커스텀 이미지

__6.7 환경

__6.8 서비스 환경 구성

__6.9 서비스와 호스트 매핑

__6.10 자동화

__6.11 물리 머신에서 가상화로

__6.12 배포 인터페이스

__6.13 마치며



7장. 테스팅

__7.1 테스트의 종류

__7.2 테스트의 범위

__7.3 서비스 테스트 구현하기

__7.4 까다로운 엔드 투 엔드 테스트

__7.5 엔드 투 엔드 테스팅의 단점

__7.6 신뢰할 수 없고 취약한 테스트

__7.7 스토리가 아닌 테스트 여정

__7.8 우리를 구할 소비자 주도 테스트

__7.9 엔드 투 엔드 테스트를 사용해야 하는가?

__7.10 출시 후의 테스팅

__7.11 교차기능 테스트

__7.12 마치며



8장. 모니터링

__8.1 단일 서비스, 단일 서버

__8.2 단일 서비스, 다수 서버

__8.3 다수 서비스, 다수 서버

__8.4 로그, 로그, 더 많은 로그...

__8.5 다수 서비스 간의 측정지표 추적

__8.6 서비스 측정지표

__8.7 합성 모니터링

__8.8 상관관계 ID

__8.9 전파

__8.10 표준화

__8.11 관객 고려하기

__8.12 앞으로

__8.13 마치며



9장. 보안

__9.1 인증과 권한부여

__9.2 서비스 대 서비스 인증과 권한부여

__9.3 보관 중인 데이터 보호하기

__9.4 심층 방어

__9.5 시범 예제

__9.6 절약하라

__9.7 인적 요소

__9.8 황금률

__9.9 보안 탑재

__9.10 외부 검증

__9.11 마치며



10장. 콘웨이의 법칙과 시스템 설계

__10.1 증거

__10.2 넷플릭스와 아마존

__10.3 이것으로 무엇을 할 수 있을까?

__10.4 의사소통 경로 적응

__10.5 서비스 소유권

__10.6 공유된 서비스의 추진

__10.7 내부 오픈 소스

__10.8 경계가 있는 콘텍스트와 팀 구조

__10.9 방치된 서비스

__10.10 사례 연구: RealEstate.com.au

__10.11 콘웨이의 역법칙

__10.12 사람

__10.13 마치며



11장. 대규모 마이크로서비스

__11.1 장애는 어디에서나 발생한다

__11.2 얼마나 많아야 너무 많은 건가?

__11.3 기능 분해

__11.4 아키텍처 안전 조치

__11.5 안티프래질 조직

__11.6 멱등성

__11.7 확장

__11.8 데이터베이스 확장

__11.9 캐싱

__11.10 자동 확장

__11.11 CAP 정리

__11.12 서비스 발견

__11.13 동적 서비스 레지스트리

__11.14 문서화 서비스

__11.15 자기 기술 시스템

__11.16 마치며



12장. 종합 정리

__12.1 마이크로서비스의 원칙

__12.2 언제 마이크로서비스를 사용하지 않아야 하는가?

__12.3 이 책을 마치며

한줄 서평