장바구니 담기 close

장바구니에 상품을 담았습니다.

엔터프라이즈 환경을 위한 마이크로서비스

엔터프라이즈 환경을 위한 마이크로서비스

  • 카순인드라시리
  • |
  • 에이콘출판
  • |
  • 2020-03-31 출간
  • |
  • 508페이지
  • |
  • 188 X 235 X 24 mm
  • |
  • ISBN 9791161754055
판매가

35,000원

즉시할인가

31,500

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
31,500

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 이 책에서 다루는 내용 ★
■ 자신 있게 마이크로서비스 아키텍처를 설계하고 개발하기
■ 현대적인 메시징 기술 적용하기
■ 서비스 메시 패턴을 적용해 서비스 간 통신 문제 극복하기
■ 실전 테스트를 거친 마이크로서비스 보안 패턴을 적용해 실제 시나리오 해결하기
■ API 관리, 분산 데이터 관리, 관찰 가능성 처리하기

★ 이 책의 구성 ★
이 책을 통해 엔터프라이즈 애플리케이션 환경에서 마이크로서비스를 구축하는 것을 둘러싼 주요 과제와 솔루션을 이해할 수 있도록 구성했다. 이 책은 마이크로서비스 아키텍처의 원칙과 실제 시나리오에서 마이크로서비스를 사용하는 방법을 포괄적으로 설명한다
서비스 통합 및 API 관리와 함께 마이크로서비스를 사용하는 아키텍처 문제가 제시되고, 복합/통합 마이크로서비스를 사용해 ESB(Enterprise Service Bus)와 같은 중앙 집중식 통합 제품을 사용하지 않는 방법을 배운다. 각 개념은 사용 사례와 함께 설명하며, 대부분의 사용자는 비즈니스 중단을 최소화하면서 레거시 애플리케이션과 함께 마이크로서비스를 구현해야 하는 ‘브라운필드(brownfield)’ 환경에서 구현하고 있다는 사실을 강조한다.
마이크로서비스 메시징, 서비스 개발 및 설명, 서비스 발견, 거버넌스, 데이터 관리 기술에 관한 최신 기술을 다루고 마이크로서비스 디자인 프로세스를 안내한다. 또한 핵심 대 원자, 복합 대 통합, API 대 에지(edge)로 서비스를 구성하는 것의 중요성과 이러한 조직이 중앙 ESB의 사용을 제거하고 API 게이트웨이를 통해 서비스를 노출하는 데 도움될 방법도 알려준다.

★ 옮긴이의 말 ★
2018년 말에 처음으로 마이크로서비스 아키텍처 프로젝트에 참여하게 됐을 때는 크리스 리처드슨의 저서 『마이크로서비스 패턴』을 통해 마이크로서비스 아키텍처의 개념적인 측면을 이해할 수 있었다. 그러나 마이크로서비스를 실제로 어떻게 구현할지는 흩어져 있는 여러 자료를 찾아보고 코드를 구현해보면서 조금씩 배워나갈 수밖에 없었다.
2019년 7월 무렵, 이 책의 번역을 시작한 후 전체적인 내용을 살펴봤을 때는 뒤통수를 세게 얻어맞은 느낌이 들었다. 내가 그동안 고민해왔던 내용과 앞으로 좀 더 알아보고자 했었던 내용이 이 책에 충실히 담겨 있을 뿐 아니라, 2018년 말 즈음에 이미 출간됐었다는 사실이 인상적이었기 때문이다. 개인적으로는 ‘프로젝트를 시작할 즈음에 이 책의 내용을 접했으면 어땠을까.’라는 아쉬움도 남았다.
책이 출간되고 나서 한참 후에야 번역을 시작한 만큼, 최대한 빠른 시간 내에 번역을 마치고 독자들이 영어의 압박에서 벗어나 이 책을 좀 더 편하게 읽을 수 있도록 하는 것이 목표였다. 비록 출간을 앞두고 냉정히 평가했을 때 그 목표가 제대로 달성되지 못한 것 같아 아쉽지만, 이 책에서 다루는 내용이 한국어판이 출간되는 시점에도 여전히 유효하다는 점에서 위안을 얻는다.
개념이나 디자인 패턴 등과 같은 고수준에서만 본다면, 마이크로서비스 아키텍처는 기존의 서비스 지향 구조 등과 크게 달라 보이지 않는다. 그러나 마이크로서비스 아키텍처를 구현하기 위해 구체적인 기술을 자세히 살펴보면 그 차이를 체감할 수 있다. 이러한 차이를 체감하고 체득하는 데는 많은 노력이 필요하지만, 이 책을 통해 그 기반을 단단히 다질 수 있을 것이다.
이 책은 마이크로서비스 아키텍처의 기본 개념을 기존의 서비스지향 구조, ESB 등과 비교해서 잘 설명하고 있다. 나아가 개념을 실제 구현에 어떻게 적용하고 어떤 오픈소스를 사용할 수 있는지도 자세히 알려준다.
마이크로서비스 아키텍처는 어렵다. 알아야 할 기술이 너무 많기 때문이다. 이 책은 국내에서 마이크로서비스 아키텍처를 구현하는 데 사용되는 거의 모든 오픈소스를 다루며, 비록 국내에서는 생소하지만 국외에서는 잘 알려진 오픈소스도 소개한다.
이 책에서 설명하는 오픈소스의 개요만 파악해도, 추후 마이크로서비스를 실무에 적용할 때 큰 도움이 될 것이다.
책을 번역하는 과정에서 깃허브에 공개된 예제가 일부 누락된 것을 발견하고, 출판사를 통해 저자들과 소통할 기회가 있었다. 비록 저자들이 너무 바쁘고 소스 코드를 찾지 못한 탓에 완벽하게 업로드해주지는 못했지만, 보완하기 위해 최대한 노력해준 저자들의 노고에 감사한다. 소스 코드가 완전하지 않은 부분에 대해서는 저자들을 대신해 양해를 구하고 싶다. 그러나 책의 내용을 끝까지 살펴보면, 저자들이 실제 개발에 도움이 되는 소스를 제공하고자 최선을 다했다는 점을 깨닫게 될 것이다.
이 책을 모두 읽고 나면, 400페이지 남짓한 원서에 많은 내용을 담아낸 저자들의 노력뿐 아니라 남다른 안목과 식견에도 감탄하게 될 것이다. 따라서 다소 힘들더라도 이 책의 모든 내용을 끝까지 한 번은 읽어볼 것을 권한다.


목차


1장. 마이크로서비스의 사례

__모노리스에서 마이크로서비스 아키텍처로
____모놀리식 애플리케이션
____SOA와 ESB
____API들
__마이크로서비스는 무엇인가?
____비즈니스 기능 지향
____자율성: 개발, 배포, 확장의 독립성
____중앙 ESB 부재: 스마트 엔드포인트와 멍청한 파이프
____실패 내결함성
____분산화된 데이터 관리
____서비스 거버넌스
____관찰 가능성
__마이크로서비스: 장점과 단점
____장점
____단점
__마이크로서비스의 적용 방법과 적용 시기
__요약

2장. 마이크로서비스 디자인

__도메인 주도 설계
____바운디드 컨텍스트
____컨텍스트 맵
____관계형 패턴
__설계 원리
____높은 응집도와 느슨한 결합
____복원력
____관찰 가능성
____자동화
__12 팩터 앱
____코드베이스
____종속성
____설정
____백엔드 서비스
____빌드, 릴리스, 실행
____프로세스
____무공유 아키텍처
____포트 바인딩
____동시성
____폐기 가능
____개발/프로덕션 환경 일치
____로그
____어드민 프로세스
____12 팩터 앱을 넘어서
__요약

3장. 서비스 간 통신

__마이크로서비스 통신의 기초
__동기식 통신
____REST
____gRPC
____GraphQL
____웹소켓
____스리프트
__비동기식 통신
____단일 수신자
____다중 수신자
__동기식 통신 대 비동기식 통신
____메시지 포맷/타입
____JSON과 XML
____프로토콜 버퍼
____에이브로
__서비스 정의 및 계약
__요약

4장. 서비스 개발

__개발자 도구와 프레임워크
____넷플릭스 OSS
____스프링 부트
____이스티오
____드롭위저드
____Vert.x
____Lagom
__스프링 부트 시작하기
____Hello World!
____스프링 부트 액추에이터
____구성 서버
____구성 소비하기
____서비스 간 통신
__gRPC 시작하기
____gRPC 서비스 구축
____gRPC 클라이언트 구축
__카프카를 이용한 이벤트 기반 마이크로서비스
____카프카 메시지 브로커 설정
____게시자(이벤트 소스) 구축하기
____소비자 구축하기(이벤트 싱크)
__GraphQL 서비스 구축
__요약

5장. 데이터 관리

__모놀리식 애플리케이션과 공유 데이터베이스
__마이크로서비스당 데이터베이스
__마이크로서비스 간 데이터 공유
____공유 테이블 제거
____공유 데이터
____데이터 조합
__마이크로서비스의 트랜잭션
____2단계 커밋을 통한 분산 트랜잭션 피하기
____로컬 트랜잭션을 사용한 이벤트 개시
____데이터베이스 로그 마이닝
____이벤트 소싱
____사가
__폴리글랏 지속성
__캐싱
__요약

6장. 마이크로서비스 거버넌스

__왜 마이크로서비스 거버넌스인가?
__마이크로서비스 거버넌스 측면
____서비스 정의
____서비스 레지스트리 및 검색
____서비스 수명 주기 관리
____서비스 품질
____서비스 관찰 가능성
__마이크로서비스 거버넌스 구현
____서비스 레지스트리 및 검색
____개발 수명 주기 관리
____API 관리/API 게이트웨이
____관찰 가능성
__서비스 레지스트리 및 검색
____컨설
____유레카
____etcd
____쿠버네티스를 통한 서비스 검색
__요약

7장. 마이크로서비스 통합

__마이크로서비스를 통합해야 하는 이유
__스마트 엔드포인트와 멍청한 파이프
__마이크로서비스 통합의 안티 패턴
____마이크로서비스 통합을 위한 모놀리식 API 게이트웨이
____ESB와 마이크로서비스 통합
____모든 마이크로서비스 구축에 동종 기술 사용
__마이크로서비스 구성하기
____핵심 서비스
____통합 서비스
____API 서비스
__마이크로서비스 통합 패턴
____능동형 조합 또는 오케스트레이션
____반응성 조합 또는 코레오그래피
____능동형 조합과 반응형 조합의 하이브리드
____손상 방지 계층
____스트랭글러 파사드
__통합 서비스의 주요 요구 사항
____네트워크 통신 추상화
____복원력 패턴
____능동형 또는 반응형 조합
____데이터 형식
____컨테이너 네이티브 및 데브옵스 지원
____통합 서비스 거버넌스
____상태 없음, 상태 저장, 또는 장기 실행 서비스
__통합 서비스 구축을 위한 기술
____스프링 부트
____드롭위저드
____아파치 카멜과 스프링 통합
____Vert.x
____아카
____Node, Go, 러스트, 파이썬
____발레리나
____워크플로 엔진 솔루션
__서비스 메시의 시작
__요약

8장. 마이크로서비스의 배포 및 실행

__컨테이너와 마이크로서비스
____도커 소개
____도커를 사용해 마이크로서비스 배포
____도커 컴포즈
__컨테이너 오케스트레이션
____쿠버네티스 소개
____쿠버네티스 핵심 개념
____쿠버네티스 환경에서 마이크로서비스 배포
__마이크로서비스 배포 패턴
____호스트당 다중 서비스
____호스트당 서비스
____가상 머신당 서비스
____컨테이너당 서비스
__컨테이너 네이티브 마이크로서비스 프레임워크
____Metaparticle
__지속적인 통합, 전달, 배포
____지속적인 통합
____지속적인 전달
____지속적인 배포
__요약

9장. 서비스 메시

__왜 서비스 메시인가?
__서비스 메시란 무엇인가?
____비즈니스 로직
____기본 네트워크 기능
____애플리케이션 네트워크 기능
____컨트롤 플레인
__서비스 메시의 기능
____서비스 간 통신을 위한 복원력
____서비스 검색
____라우팅
____관찰 가능성
____보안
____배포
____서비스 간 통신 프로토콜
__이스티오
____이스티오 아키텍처
____이스티오 사용
__링커디
__서비스 메시를 사용해야 할까?
____장점
____단점
__요약

10장. API, 이벤트, 스트림

__API와 API 관리
____API 게시자/API 수명 주기 관리자
____API 게이트웨이
____API 저장소/개발자 포털
____API 분석/관찰 가능성
____API QoS
____API 수익 창출
____OpenAPI를 사용한 API 정의
____API 쿼리 언어: GraphQL
____API 관리와 서비스 메시
____API 관리 구현
__이벤트
____이벤트 알림
____이벤트-전달 상태 전이
____이벤트 소싱
____명령 질의 책임 분리
__스트림
____스트림 처리
__API, 이벤트, 스트림이 포함된 마이크로서비스 아키텍처
__요약

11장. 마이크로서비스 보안의 기본 사항

__모놀리스 대 마이크로서비스
__서비스 간 통신 보호
____JSON 웹 토큰
____TLS 상호 인증
__에지 보안
____OAuth 2.0
__접근 제어
____XACML
____내장형 PDP
__보안 사이드카
__요약

12장. 마이크로서비스 보안

__OAuth 2.0으로 마이크로서비스 보안
____TLS 사용
____OAuth 2.0 인가 서버 설정
____OAuth 2.0으로 마이크로서비스 보호
__자체 포함 액세스 토큰(JWT)으로 마이크로서비스 보안
____JWT를 발행하도록 인가 서버 설정
____JWT로 마이크로서비스 보호
__마이크로서비스에 대한 접근 제어
____범위 기반 접근 제어
____역할 기반 접근 제어
__서비스 간 통신 보호
____JWT로 보호된 서비스 간 통신
____TLS 상호 인증으로 보호된 서비스 간 통신
__액추에이터 엔드포인트 보안
__요약

13장. 관찰 가능성

__관찰 가능성의 세 기둥
__스프링 클라우드를 사용한 분산 추적
____스프링 클라우드 슬루스
____스프링 부트 마이크로서비스에 스프링 클라우드 슬루스 사용
____스프링 클라우드 슬루스를 사용해 여러 마이크로서비스 간의 메시지 추적
__집킨을 통한 데이터 시각화와 상관관계
____이벤트 기반 로그 집계 아키텍처
__오픈 트레이싱 소개
____스프링 부트 마이크로서비스와 집킨을 사용한 오픈 트레이싱으로 분산 추적
____스프링 부트 마이크로서비스와 예거를 사용한 오픈 트레이싱으로 분산 추적
__프로메테우스가 포함된 메트릭
____스프링 부트 마이크로서비스 메트릭 노출하기
____프로메테우스 설정
____프로메테우스를 사용한 그래프 작성
__그라파나를 사용한 분석과 모니터링
____그라파나로 대시보드 구축
____그라파나로 경고 생성
__도커와 함께 Fluentd 로그 수집기 사용
____도커 컨테이너로 Fluentd 시작
____도커 컨테이너에서 실행되는 마이크로서비스에서 Fluentd에 로그 게시
____작동 원리
____마이크로서비스 배포에서 Fluentd 사용하기
__요약

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.