안녕하세요 예지우랑입니다. 
최근 제가 자전거타는 프로그래머에서 요가하는프래그래머가된사실을 알고계신가요?

오늘은 오랫만에 도서리뷰를 하려고합니다. 
전통의 명가 한빛 미디어에서 리뷰의 기회를 주셨습니다. 항상 감사하게생각합니다. 
아무래도 깊은 내용의 책을 짧은 기간내에 소화한 후 리뷰를 하기는 제 역량이 아직 부족한거같습니다 ㅠ
그래서 이번 리뷰는 책의 목차 소개 및 훑어본 후 짧은 소감정도로 마쳐야할거같습니다. 

그러면 책의 목차를 살펴보도록하겠습니다. 

...더보기
  1. 엔터프라이즈 자마 마이크로서비스
    1. 엔터프라이즈 자바의 역사
      1. 엔터프라이즈 자바란 무엇인가?
      2. 전형적인 엔터프라이즈 자바 아키텍처
      3. 모노리스란 무엇인가?
      4. 모노리스와 관련한 문제는 무엇인가?
    2. 마이크로서비스와 분산 아키텍처
      1. 한가지 일만 잘하기 
      2. 분산 아키텍처란 무엇인가?
      3. 분산에 신경을써야하는 이유는 무엇인가?
      4. 마이크로서비스 개발을 돕기 위해 어떤 일을 해야할까?
      5. 프로젝트보다 제품
      6. 지속적인 톡함과 지속적인 인다.
    3. 마이커로서비스로 마이그레이션 할 때 사용할 수 있는 패턴들
      1. 도메인 주도 설계
      2. 빅뱅 패턴
      3. 스트랭글러패턴
      4. 하이브리드 패턴
    4. 멘터프라이즈 자바 마이크로서비스란 무엇인가?
      1. 마이크로서비스에 엔터프라이즈 자바가 적합한 이유는 무엇인가?
    5. 요약
  2. 간단한 RESTful 마이크로서비스 개발하기
    1. 카얌베 모노리스
    2. 새로운 관리 사이트
      1. 유스케이스
      2. 애플리케이션 아키텍쳐
      3. JAX-RS를 사용해 RESTful종단점 만들기
      4. 실행하기
    3. 요약
  3. 마이크로서비스를 위한 아플리케이션 서버
    1. 꼭 필요한 만큼의 애플리케이션 서버
      1. JeAS의 의미
      2. JeAS의 이점은?
      3. 이클립스 마이크로프로파일
    2. JeAS선택하기
      1. 해변 휴가 애플리케이션 예제
      2. 드롭위자드 - 최초의 선택 가능한 마이크로서비스 런타임
      3. 파야라 마이크로 - JAR하나에 들어있ㄴ느 슬림한 JavaEE앱 서버
      4. 스프링 부트 - 옵션화한 스프링 마이크로 서비스
      5. 손테일- 더 유연한 JeAS런타임
      6. 여러 JeAS런타임 비교
    3. 요약
  4. 마이크로서비스 테스트
    1. 어떤 유형의 테스트가 필요한가?
    2. 단위 테스트
    3. 불변셩이랑 무엇인가?
    4. 통합 테스트
    5. 소비자 중심 계약 테스트
    6. 추가 읽기 몱록
    7. 추가 연습 문제
    8. 요약
  5. 클라우드 네이티브 개발
    1. 클라우드란 무엇인가?
    2. 서비스 모델
    3. 클라우드 네이티브 개발
    4. 클라우드에 전개하기
    5. 미니시프트 시작하기
    6. 마이크로서비스 클라우드 전개
    7. 클라우드에서 테스트하기
    8. 추가 연습문제
    9. 요약
  6. 마이크로서비스 소비하기
    1. 자바 클라이언트 라이브러리를 통해 마이크로서비스 소비하기
      1. java.net
      2. 아파치 HttpClient
    2. JAX-RS 클라이언트 라이브러리로 마이크로서비스 소비하기
      1. JAX-RS 클라이언트
      2. 레스트이지 클라이언트
    3. 요약
  7. 소비할 마이크로서비스 발견하기
    1. 왜 마이크로서비스르 발견할 수 있어야 하는가?
      1. 서비스 발견은 무엇인가?
      2. 서비스 발견과 레지스트리의 이점은?
      3. 상태가 있는 마이크로서비스와 상태가 없는 마이크로서비스
      4. 넷플릭스 리본이란 무엇인가?
    2. 손테일로 마이크로서비스 등록하기
      1. 손테일의 토폴로지
      2. 마이크로서비스를 토폴로지에 등록하기
    3. 손테일을 통해 등록한 마이크로서비스 소비하기
      1. 넷플릭스 리본을 사용한 서비스 검색
      2. 레스트이지 클라이언트를 사용한 서비스 검색
    4. 요약
  8. 내고장성과 모니터링 전략
    1. 분산 아키텍터에서 발생하는 마이크로서비스의 실패
    2. 네트워크 실패
    3. 실패 영향 경감시키기
      1. 히스트릭슨느 무엇인가?
      2. 회로 차단기(서킷 브레이커)
      3. 벌크헤드
      4. 폴백
      5. 요청 캐시
      6. 완성하기
      7. 히스트릭스 대시보드
    4. 히스트릭스를 지불 마이크로서비스에 추가하기
      1. 레스트이지 클라이언트에 히스트릭스 사용하기
      2. 리본클라이언트에 히스트릭스 사용하기
    5. 요약
  9. 마이크로서비스 보안
    1. 마이크로서비스 보안의 중요성
      1. 보안이 중요한 이유
      2. 보안이 해결해야 하는 문제는 무엇인가?
    2. 키클록 사용ㅇ하기
      1. 키클록의 기능 이해하기
      2. 키클록 설정하기
    3. 스트라이프 마이크로서비스에 보안 적용하기
      1. 키클록 설정하기
      2. 스트라이프 자원에 보안 적용하기
      3. 지불 자원에 대한 인증
      4. 보안을 적용한 마이크로서비스 테스트하기
    4. 사용자 인증 획득하기
      1. 키클록 설정하기
      2. 카테고리 삭제에 보안 부여하기
      3. UI에서 사용자 인증하기
      4. 새로운 UI와 서비스가 함께 잘 작동하는지 테스트하기
    5. 요약
  10. 마이크로서비스 하이브리드 아키텍처 구성하기
    1. 카얌베 모노리스
    2. 카얌베 모노리스 실행하기
      1. 데이터 베이스 설정
      2. 카얌베 실행하기
    3. 카얌베 하이브리드 -마이크로 서비스를 사용하는 모노리스
      1. 지불 마이크로서비스 통합하기
      2. 관리 마이크로서비스 통합하기
      3. 새 관리 UI
      4. 카얌베 하이브리드 요약
    4. 하이브리드 클라우드에 전체 전개하기
      1. 데이터베이스
      2. 보안
      3. 마이크로서비스
      4. 카얌베 하이브리드
      5. 카얌베EAR
      6. 관리 UI
    5. 요약
  11. 아파치 카프카를 이용한 데이터 스트리밍
    1. 아파치 카프카가 할 수 있는 일은 무엇인가?
      1. 데이터 스트리밍
      2. 아파티 카프카
    2. 모노리스 아키텍처를 스트리밍을 사용해 단순하게 만들기
    3. 데이터 스트리밍을 위해 카프카 전개하고 사용하기
      1. 오픈 시프트에서의 카프카
      2. 관리 마이크로서비스
      3. 카프카 소비자
    4. 추가 연습문제
    5. 요약
  • 부록 스프링 부트 마이크로 서비스
    • 스프링 부트 프로젝트 해부도
      • 새로 초기화한 스프링 부트 프로젝트 살펴보기 
      • 스프링부트 스크래핑하기
      • 스프링부트 애플리케이션 테스트하기
    • 애플리케이션 스포퍼티 설정하기
    • 스프링 부트 스타터 의존관계
      • 스타터 의존관계 사용하기
      • 양상 기반 의존관계 지정
      • 스타터의 추이적 의존관계 오버라이드 하기
    • 스프링 부트 애플리케이션 개발하기
      • 애플리케이션 기능 개발에 집중하기
      • 도메인 정의하기
      • 저장소 인터페이스 정의하기
      • 웾 인터페이스 만들기
    • 스프링 부트 테스트
      • 스프링 mvc모킹하기

 

위에 목록에서 나온것처럼 
일단 개념부터 들어가며, 구현방법 및 테스트, 운영까지 전반적으로 다루기때문에 책에서 말하는 독자층인 마이크로서비스에 관심을 가지고있는 분들이 처음 보기에 매우 좋은 책이라는 생각이 듭니다. 

먼저 책을 읽은 짧은 소감
- 기존 모놀리식 서비스의 문제점부터 시작합니다. 
- 마이크로 서비스란 무엇인지 알려줍니다. 
- 실제 서비스를 만들면서 진행하기때문에 이해가쉽습니다. 
위에 3가지정도로 요약할 수 있을거같습니다. 

아쉬운점이 있다면 일부 용어들은 굳이 번역이 필요했는가? 하는 생각이 들었습니다. 소비자 => 컨슈머 뭐 이런것들은 그냥 영어릉 표기했다면 더 좋았을거같다는 생각이 드네요 

이상으로 정말정말 가벼운 리뷰를 마칩니다. 

리뷰라고 부르기도 좀 부그럽지만 저는 내일부터 제법 긴 휴가를 떠납니다. 
휴가중에 가지고가서 좀더 자세히 읽어보고 어쩌면 다시한번 리뷰를 쓸지도 모르겠습니다.

 

감사합니다. 

반응형

+ Recent posts