홈 > 부모님 > 부모님 > 소설,일반 > 컴퓨터,모바일
마이크로서비스 아키텍처  이미지

마이크로서비스 아키텍처
IT 리더들을 위한 간결하고 핵심적인 특징들
에이콘출판 | 부모님 | 2019.06.10
  • 정가
  • 25,000원
  • 판매가
  • 22,500원 (10% 할인)
  • S포인트
  • 1,250P (5% 적립)
  • 상세정보
  • 23.5x18.8 | 0.570Kg | 300p
  • ISBN
  • 9791161753096
  • 배송비
  • 2만원 이상 구매시 무료배송 (제주 5만원 이상) ?
    배송비 안내
    전집 구매시
    주문하신 상품의 전집이 있는 경우 무료배송입니다.(전집 구매 또는 전집 + 단품 구매 시)
    단품(단행본, DVD, 음반, 완구) 구매시
    2만원 이상 구매시 무료배송이며, 2만원 미만일 경우 2,000원의 배송비가 부과됩니다.(제주도는 5만원이상 무료배송)
    무료배송으로 표기된 상품
    무료배송으로 표기된 상품일 경우 구매금액과 무관하게 무료 배송입니다.(도서, 산간지역 및 제주도는 제외)
  • 출고일
  • 1~2일 안에 출고됩니다. (영업일 기준) ?
    출고일 안내
    출고일 이란
    출고일은 주문하신 상품이 밀크북 물류센터 또는 해당업체에서 포장을 완료하고 고객님의 배송지로 발송하는 날짜이며, 재고의 여유가 충분할 경우 단축될 수 있습니다.
    당일 출고 기준
    재고가 있는 상품에 한하여 평일 오후3시 이전에 결제를 완료하시면 당일에 출고됩니다.
    재고 미보유 상품
    영업일 기준 업체배송상품은 통상 2일, 당사 물류센터에서 발송되는 경우 통상 3일 이내 출고되며, 재고확보가 일찍되면 출고일자가 단축될 수 있습니다.
    배송일시
    택배사 영업일 기준으로 출고일로부터 1~2일 이내 받으실 수 있으며, 도서, 산간, 제주도의 경우 지역에 따라 좀 더 길어질 수 있습니다.
    묶음 배송 상품(부피가 작은 단품류)의 출고일
    상품페이지에 묶음배송으로 표기된 상품은 당사 물류센터에서 출고가 되며, 이 때 출고일이 가장 늦은 상품을 기준으로 함께 출고됩니다.
  • 주문수량
  • ★★★★★
  • 0/5
리뷰 0
리뷰쓰기

구매문의 및 도서상담은 031-944-3966(매장)으로 문의해주세요.
매장전집은 전화 혹은 매장방문만 구입 가능합니다.

  • 도서 소개
  • 출판사 리뷰
  • 작가 소개
  • 목차
  • 회원 리뷰

  도서 소개

마이크로서비스 아키텍처를 소개하면서 다른 아키텍처와 비교한다. 이어서 필수적인 마이크로서비스 컴포넌트와 두 마이크로서비스에 걸친 엔드포인트 간의 원활한 통신을 설정하는 방법을 살펴본다. 효과적인 데이터 모델을 만들고 마이크로서비스를 테스트하고 배포하는 다양한 방법을 알아본 후에는 모놀리식에서 마이크로서비스 아키텍처로 전환하기 위한 효율적인 방법을 배운다.

  출판사 리뷰

★ 이 책에서 다루는 내용 ★

- 전체 아키텍처에 대한 검색 서비스 및 외부 설정
- 이벤트 기반 마이크로서비스에 메시지 브로커를 사용하는 방법
- 컴포넌트 간에 여러 데이터 관리 전략을 복합적으로 구성하는 방법
- 스프링 부트 환경에서 여러 유형의 테스트 구현
- 마이크로서비스 아키텍처에 CI/CD 적용
- 애플리케이션 모니터링 및 확장에 필요한 다양한 도구

★ 이 책의 대상 독자 ★

마이크로서비스를 배워서 작업 현장에 구현하려는 자바 개발자를 위한 책이다. 마이크로서비스에 대한 사전 지식은 필요하지 않다.

★ 이 책의 구성 ★

1장, '마이크로서비스 아키텍처 소개'에서는 마이크로서비스가 가진 기본 의미뿐만 아니라 마이크로서비스 아키텍처의 전반적인 개념을 소개한다. 이 책의 나머지 부분에서 사용할 애플리케이션 예제도 간략하게 살펴본다.
2장, '마이크로서비스 구성 요소 정의'에서는 마이크로서비스 구성 요소를 정의하는 기본 원칙과 이런 구성 요소를 통해 마이크로서비스 아키텍처의 근간을 형성하는 방법을 설명한다. 이 지침은 스프링 부트 기반의 자바 프로젝트 구조가 마이크로서비스 구성 요소를 효과적으로 정의하는 데 어떻게 사용되는지 보여주는, 실용적인 관점에서 만들어졌다. 마이크로서비스 예제를 통해 구성 및 검색 서비스와 함께 자바 기반 마이크로서비스 구성 요소가 실용적으로 사용되는 것을 살펴본다.
3장, '마이크로서비스 엔드포인트 간의 통신'에서는 마이크로서비스 간의 효과적인 통신을 위한 원칙을 논리적으로 설명한다. 그다음 스프링 프레임워크의 자체 기능부터 메시지 브로커에 이르는 다양한 기술을 사용해 동기식 통신과 비동기식 통신을 위한 옵션을 소개한다. 또한 모범 사례를 통해 일반적인 문제를 처리하는 방법을 설명한다.
4장, '마이크로서비스 엔드포인트 보안'에서는 일반적인 보안을 설명하고 보안과 관련된 어려움을 살펴본다. 마이크로서비스 아키텍처 보안을 향상시키기 위해 JWT, OpenID 및 OAuth 2.0을 도입했다.
5장, '효과적인 데이터 모델 생성'에서는 마이크로서비스 기반 데이터 모델과 전통적인 데이터 모델의 차이점을 살펴보고 마이크로서비스가 모델을 달리하는 이유를 설명한다. 이어서 데이터 기술을 함께 활용하는 방법과 각 마이크로서비스 구성 요소에 적합한 데이터 관리 전략을 선택하는 방법도 알아본다. 또한 예제 애플리케이션 데이터 모델을 살펴보면서 다양한 데이터 모델 선택을 설명하고, 선택 이유도 알아본다.
6장, '마이크로서비스 테스트'에서는 지속적인 변경과 자동으로 배포하는 시스템에 테스팅이 더욱 중요한 이유를 설명한다. 그런데 기존 테스트 방법과 테스트 품질 기준이 마이크로서비스 아키텍처와 완벽하게 일치할까? 아니면 전혀 다른 접근 방식을 사용해야 할까? 둘 다 필요할 것이다.
7장, '마이크로서비스 배포'에서는 마이크로서비스 아키텍처에서 배포가 자주 필요하다는 것을 배운다. 따라서 가능한 쉽고 간편하게 배포할 수 있어야 할 뿐만 아니라, 자동화와 함께 시스템을 쉽게 확장 및 축소할 수 있어야 한다. 이는 새로운 마이크로서비스가 지속적으로 배포되고 중단될 수 있다는 의미다. 이때 도커는 마이크로서비스의 배포 프로세스를 정의하고 자동화하는 데 도움된다.
8장, '기존 시스템의 진화'에서는 마이크로서비스 아키텍처를 기반으로 시스템을 진화시키는 기본 메커니즘과 마이크로서비스가 이런 진화를 가능하게 해주는 방법을 살펴본다. 또한 자바 기반 애플리케이션을 발전시키는 방법도 설명한다.
9장, '모니터링과 확장'에서는 마이크로서비스 기반 시스템 모니터링과 확장의 핵심 개념 및 원리를 설명한다. 자바 기반 마이크로서비스를 모니터하고 확장하는 실제적인 접근법을 살펴보고, 예제를 통해 애플리케이션을 모니터링하고 확장하는 방법을 알아본다.
10장, '문제 해결'에서는 마이크로서비스 기반 아키텍처를 설계하고 구축할 때 발생하는 일반적인 문제를 검토한다. 문제를 해결하거나 완화하기 위한 일반적인 방법을 설명한다.

  작가 소개

지은이 : 우메쉬 램 샤르마
확장 가능한 분산 클라우드 기반 애플리케이션의 개발, 설계, 아키텍처 분야에서 8년 이상 경력을 쌓은 개발자다.카르나타카 주립 오픈 대학교에서 정보 기술 석사 학위를 받았다. 주요 관심사는 마이크로서비스와 스프링이고 J2EE, 자바 스크립트, 스트러츠, 하이버네이트, 스프링 스택의 활용 전문가다. AWS, J2EE, MySQL, 몽고DB(MongoDB), 멤캐시드(memchached), 아파치, 톰캣, 헤이즐캐스트(Hazelcast) 같은 기술에 대한 다양한 실무 경험도 있다.현재 제스트머니(ZestMoney)의 수석 엔지니어로 근무하면서, 팀이 진행 중인 프로젝트를 마이크로서비스 아키텍처로 전환하는 작업을 지원하고 있다. 여가 시간에는 신기술에 관한 콘퍼런스에 참여하거나, 운전과 요리하는 것을 즐긴다.

  목차

1장. 마이크로서비스 아키텍처 소개
__일반적인 마이크로서비스 아키텍처
__마이크로서비스 아키텍처의 특성
____문제 정의
____해결 방안
__성공적인 마이크로서비스 아키텍처에 대한 어려움
____로깅을 통한 디버깅
____마이크로서비스 모니터링
____공통 라이브러리
____서비스 간 메시징
____마이크로서비스 배치와 버전 관리
__마이크로서비스의 미래
____서버리스 아키텍처
____PaaS로서의 마이크로서비스
__마이크로서비스 아키텍처는 전통적인 아키텍처보다 우세한 것인가?
__마이크로서비스가 SOA로 보이지 않는다?
__대규모 비즈니스 도메인을 마이크로서비스 컴포넌트로 세분하기
____비즈니스 중심으로 마이크로서비스 컴포넌트 구성하기
__마이크로서비스를 도입해야 할까 도입하지 말아야 할까
____조직 도입
____데브옵스 경험
____기존 데이터베이스 모델 분석
____자동화 및 CI/CD
____통합
____보안
____성공적인 전환 사례
__예제 프로젝트(신용 리스크 엔진)
__스프링
__스프링 부트
____스프링 부트로 쉽게 할 수 있다!
__요약


2장. 마이크로서비스 컴포넌트 정의
__마이크로서비스의 정의
__서비스 디스커버리와 역할
____DNS
____디스커버리 서비스 필요
____서비스 디스커버리 패턴의 예
____아키텍처 전반에 걸친 외부 설정
__API 게이트웨이 및 필요성
____인증
____다른 프로토콜
____로드 밸런싱
____디스패치 요청(서비스 디스커버리 포함)
____응답 변환
____서킷 브레이커
____API 게이트웨이의 장단점
__API 게이트웨이 예제
____책 전반에 걸쳐 사용된 예제 애플리케이션
__사용자 등록 마이크로서비스 개발
____서버 설정
__요약


3장. 마이크로서비스와 엔드포인트 간의 통신
__마이크로서비스는 어떻게 통신하는가
__오케스트레이션 대 커리어그래피
____오케스트레이션
____커리어그래피
__동기 대 비동기 통신
____동기 통신
____비동기 통신
____금융 서비스
__요약


4장. 마이크로서비스 엔드포인트 보안
__마이크로서비스의 보안 문제
____기술 스택 또는 레거시 코드의 혼합
____인증 및 권한 부여(접근 제어)
____토큰 기반 보안
____보안 책임
____오케스트레이션 스타일에 대한 두려움
____서비스 간의 통신
__OpenID 및 OAuth 2.0과 함께 JWT 사용
____OpenID
____OAuth 2.0
____JWT
____예제 애플리케이션
__요약


5장. 효과적인 데이터 모델 만들기
__데이터와 모델링
____기존 데이터 모델과 비교
__모놀리스 유형 아키텍처의 데이터 모델
__SOA의 데이터 모델
__마이크로서비스 아키텍처의 데이터 모델
____각 마이크로서비스에 제한된 테이블 접근 권한을 부여하는 방법
____마이크로서비스별 데이터베이스
____사가 패턴
____필요시 데이터 기술 혼용
__모놀리스에서 마이크로서비스로의 데이터 모델 전환
____도메인 주도 설계
____데이터 모델 전환 방법
__요약


6장. 마이크로서비스 테스트
__마이크로서비스를 테스트하는 목적
__단위 테스트
__통합 테스트
__컴포넌트(서비스) 테스트
__계약 테스트
____Pact
____스프링 클라우드 계약
__엔드 투 엔드 테스트
__추가 고려 사항
__요약


7장. 마이크로서비스 배포
__지속적 통합
__지속적 전달
__마이크로서비스를 위한 CI 및 CD 도구 설정
__마이크로서비스에 도커 적용하기
____도커
____도커에서의 작업 방식
____공개, 개인, 공용 이미지 저장소
____도커와 VM
____리눅스에 도커 설치하기
__오픈 소스 CI 도구를 사용해 마이크로서비스에 도커 활용하기
__요약


8장. 기존 시스템을 마이크로서비스로 진화시키기
__어디서부터 시작하나
____아키텍처 관점과 모범 사례
____데이터베이스 관점과 모범 사례
__예제 애플리케이션과 애플리케이션의 진화
____사용자 관리 서비스
____장바구니/주문 서비스
____결제 서비스
____배송/추적 서비스와 고객 지원 서비스
____추천 서비스
____스케줄러 서비스
__요약


9장. 모니터링과 확장
__마이크로서비스 시스템의 모니터링 원칙
____누가 어떻게 경고 메시지들을 봐야 하는가
____시작부터 모니터링하고 소통하기
____자동 확장과 자동 검색
____프론트 도어 모니터링
__모니터링 기능의 변화(변화하는 모습의 모니터링)
__모니터링 시 로깅 작업의 필요성
__마이크로서비스 시스템을 확장할 때 지켜야 하는 원칙
____X축
____Y축
____Z축
__확장 전 고려 사항
__마이크로서비스의 모니터링과 확장에서 실무적으로 고려해야 할 옵션
__요약


10장. 장애 해결
__마이크로서비스에서 발생하는 일반적인 문제
____성능 저하
____다른 프로그래밍 언어로부터 만들어지는 서로 다른 로깅 위치
____여러 컴포넌트 간 결합도 또는 종속성 문제
____많은 서비스를 위한 매일 배포
____성능 저하 혹은 문제들을 위한 대규모 서비스의 모니터링
____로그와 다양한 컴포넌트 간의 관계
__일반적인 문제를 해결하기 위한 기법
____성능 문제를 해결하기 위한 단계
____다른 위치와 다른 언어로 작성된 서비스에서 로깅 처리
____서비스 간의 의존성
__적극적인 데브옵스 적용
____유용한 도구 사용
____역량 있는 개발자 활용
____모니터링
__요약

  회원리뷰

리뷰쓰기