이미 소장하고 있다면 판매해 보세요.
|
1장 스프링, 클라우드와 만나다
1.1 마이크로서비스란? 1.2 스프링은 무엇이고 마이크로서비스와 어떤 관련이 있을까? 1.3 책에서 다루는 내용 1.4 대상 독자 1.5 스프링 부트로 마이크로서비스 구축 1.6 애플리케이션 구축 방식을 바꾸는 이유 1.7 클라우드란 정확히 무엇인가? 1.8 왜 클라우드와 마이크로서비스인가? 1.9 마이크로서비스는 코드 작성 이상을 의미 1.10 스프링 클라우드로 마이크로서비스 구축 1.11 예제로 배우는 스프링 클라우드 1.12 예제와 관련성 확인 1.13 요약 2장 스프링 부트로 마이크로서비스 구축 2.1 아키텍트의 이야기: 마이크로서비스 아키텍처 설계 2.2 마이크로서비스를 사용하지 않아야 할 때 2.3 개발자 이야기: 스프링 부트와 자바로 마이크로서비스 생성 2.4 데브옵스 이야기: 혹독한 런타임 구축 2.5 모든 관점에서 2.6 요약 3장 스프링 클라우드 컨피그 서버로 구성 관리 3.1 구성(그리고 복잡성) 관리 3.2 스프링 클라우드 컨피그 서버 구축 3.3 스프링 클라우드 컨피그와 스프링 부트 클라이언트의 통합 3.4 중요한 구성 정보 보호 3.5 마치며 3.6 요약 4장 서비스 디스커버리 4.1 서비스 위치 찾기 4.2 클라우드에서 서비스 디스커버리 4.3 스프링 유레카 서비스 구축 4.4 스프링 유레카에 서비스 등록 4.5 서비스 디스커버리를 사용해 서비스 검색 4.6 요약 5장 나쁜 상황에 대비한 스프링 클라우드와 넷플릭스 히스트릭스의 클라이언트 회복성 패턴 5.1 클라이언트 회복성 패턴이란? 5.2 클라이언트 회복성이 중요한 이유 5.3 히스트릭스 시작 5.4 스프링 클라우드와 히스트릭스를 위한 라이선싱 서버 설정 5.5 히스트릭스를 사용한 회로 차단기 구현 5.6 폴백 프로세싱 5.7 벌크헤드 패턴 구현 5.8 히스트릭스 세부 설정 5.9 스레드 컨텍스트와 히스트릭스 5.10 요약 6장 스프링 클라우드와 주울로 서비스 라우팅 6.1 서비스 게이트웨이란? 6.2 스프링 클라우드와 넷플릭스 주울 소개 6.3 주울에서 경로 구성 6.4 주울의 진정한 힘! 필터 6.5 상관관계 ID를 생성하는 주울의 사전 필터 작성 6.6 상관관계 ID를 전달받는 사후 필터 작성 6.7 동적 경로 필터 작성 6.8 요약 7장 마이크로서비스의 보안 7.1 OAuth2 소개 7.2 작게 시작: 스프링과 OAuth2로 1개의 엔드포인트 보호 7.3 OAuth2를 사용한 조직 서비스 보호 7.4 자바스크립트 웹 토큰과 OAuth2 7.5 마이크로서비스 보안을 마치며 7.6 요약 8장 스프링 클라우드 스트림을 사용한 이벤트 기반 아키텍처 8.1 메시지와 EDA, 마이크로서비스의 사례 8.2 스프링 클라우드 스트림 소개 8.3 간단한 메시지 생산자와 소비자 작성 8.4 스프링 클라우드 스트림 사용 사례: 분산 캐싱 8.5 요약 9장 스프링 클라우드 슬루스와 집킨을 이용한 분산 추적 9.1 스프링 클라우드 슬루스와 상관관계 ID 9.2 로그 수집과 스프링 클라우드 슬루스 9.3 오픈집킨으로 분산 추적 9.4 요약 10장 마이크로서비스의 배포 10.1 EagleEye: 클라우드의 핵심 인프라스트럭처 설정 10.2 인프라스트럭처를 넘어: EagleEye 배포 10.3 빌드 및 배포 파이프라인 아키텍처 10.4 실제 빌드 및 배포 파이프라인 10.5 깃허브와 Travis CI로 빌드 및 배포 시작 10.6 Travis CI에서 서비스 빌드 10.7 빌드 및 배포 파이프라인을 마치며 10.8 요약 부록 A 데스크톱에서 클라우드 실행 A.1 필수 소프트웨어 A.2 깃허브에서 프로젝트 내려받기 A.3 장별 구조 A.4 프로젝트 빌드 및 컴파일 A.5 도커 이미지 빌드 A.6 도커 컴포즈로 서비스 시작 부록 B OAuth2 그랜트 타입 B.1 패스워드 그랜트 B.2 클라이언트 자격 증명 그랜트 B.3 인가 코드 그랜트 B.4 암시적 그랜트 B.5 토큰을 리프레시하는 방법 |
저존 카넬
John Carnell
역정성권
마이크로서비스 기반의 애플리케이션을 클라우드에서 쉽고 안정적으로 구축하려는 시장의 요구에 부응하기 위해 스프링 부트와 스프링 클라우드가 출현했다. 자바 스프링 개발자들은 스프링 부트로 웹 애플리케이션과 REST API를 구현하는 데는 익숙해졌으나, 마이크로서비스 기반의 애플리케이션 구축에 필요한 다양한 주제인 서비스 디스커버리, 구성 외부화, 부하 처리, 마이크로서비스 간 인증, 로깅, 빌드 및 배포 자동화 등은 아직 충분한 경험이 쌓이지 않아 쉽게 활용할 예제와 지침서가 필요했다.
이 책은 자바 스프링 개발자가 마이크로서비스 기반의 네이티브 클라우드(Native Cloud) 자바 애플리케이션을 구축하는 데 필요한 실질적 예제를 제공하고 그 개념도 훌륭하게 설명한다. 마이크로서비스 개발에 필수적인 주제를 독립적인 장으로 나누고, 도커(Docker) 컨테이너를 활용해 로컬 환경에서도 쉽게 확인하도록 구성했다. 해당 주제에 대해 가능한 많은 솔루션을 소개하고 필자의 선택 배경도 친절히 설명한다. 장마다 소개된 필자의 경험담과 노트도 읽어 볼 만하다. 번역서에서는 최신 스프링 부트 2.0에 호환되도록 예제를 모두 수정했으며, 테스트가 용이하도록 간단히 내려받아 각 장을 테스트할 수 있는 POSTMAN 테스트셋도 제공한다. 역자 역시 이 책의 번역 과정에서 습득한 내용을 바탕으로 현업에 바로 활용했다는 점에서 이 책의 실용적 가치를 강조하고 싶다. --- 「옮긴이의 말」중에서 |
이론은 탄탄하게, 실습은 실무에 가깝게!
스프링 부트 2와 스프링 클라우드 2로 구현하며 배운다! 스프링 부트 + 스프링 클라우드로 시작하자 마이크로서비스에서는 배포가 중요한 이슈다. 클라우드를 사용하면 간결성, 속도, 확장성 등 여러 가지 면에서 유용하다. 책에서는 스프링 클라우드를 사용해 마이크로서비스의 빌드와 배포를 최소화한다. 스프링 부트와 스프링 클라우드로 마이크로서비스를 시작해 보자. 현실적이고 실용적인 코드로 학습하자 20년간 자바를 사용해온 클라우드 엔지니어인 저자가 현업에서 활용 가능한 컨테이너 기반의 마이크로서비스 코드를 수록했다. 최신 스프링 부트와 스프링 클라우드 2 버전에 호환되는 실용적인 예제를 직접 실행하며 마이크로서비스의 개념을 확실히 이해할 수 있다. 핵심 패턴을 익히자 마이크로서비스를 개념적으로 이해하고 작성하는 것은 가능하지만, 대규모 마이크로서비스 애플리케이션을 클라우드에서 배포하고 운영하는 것은 코드를 작성하는 것 이상을 필요로 한다. 책에서는 핵심 마이크로서비스 개발 패턴, 라우팅 패턴, 클라이언트 회복성 패턴, 구축/배치 패턴 등 주요 개념을 스프링 부트와 스프링 클라우드로 구현한다. |