본문 바로가기
리뷰/도서

[리뷰] 엔터프라이즈 자바 마이크로서비스

by Remover 2020. 7. 3.
반응형

책소개

마이크로서비스 아키텍처로 전환하려는 개발자를 위한 본격 활용 안내서 

 

JVM 기반 마이크로서비스 애플리케이션을 설계하고 구축하는 방법을 알려준다. 전통적인 Java EE 애플리케이션과 마이크로서비스 설계를 비교한 후 마이크로서비스를 이루는 각 요소를 설명하는 방식으로 독자의 이해를 돕는다. 이를 바탕으로 마이크로서비스를 구현하는 도구와 기법을 설명한다. 마이크로서비스를 매끄럽게 운용하는 모니터링, 보안, 테스팅, 클라우드 전개 방법도 함께 살펴본다.

 

이 책의 주요 내용

  • 마이크로서비스 모델
  • 클라우드 네이티브 개발
  • 내고장성 전략과 모니터링 전략
  • 개발을 마친 애플리케이션에 보안 추가

 

자세한 내용 : https://www.hanbit.co.kr/store/books/look.php?p_code=B8925824072

 

엔터프라이즈 자바 마이크로서비스

JVM 기반 마이크로서비스 애플리케이션을 설계하고 구축하는 방법을 알려준다. 전통적인 Java EE 애플리케이션과 마이크로서비스 설계를 비교한 후 마이크로서비스를 이루는 각 요소를 설명하는

www.hanbit.co.kr

 

목차

더보기

Part 1 마이크로서비스 기초

 

 

CHAPTER 1 엔터프라이즈 자바 마이크로서비스

1.1 엔터프라이즈 자바의 역사

1.2 마이크로서비스와 분산 아키텍처

1.3 마이크로서비스로 마이그레이션할 때 사용할 수 있는 패턴들

1.4 엔터프라이즈 자바 마이크로서비스란 무엇인가?

1.5 요약

 

CHAPTER 2 간단한 RESTful 마이크로서비스 개발하기

2.1 카얌베 모노리스

2.2 새로운 관리 사이트

2.3 요약

 

CHAPTER 3 마이크로서비스를 위한 애플리케이션 서버

3.1 꼭 필요한 만큼의 애플리케이션 서버

3.2 JeAS 선택하기

3.3 요약

 

CHAPTER 4 마이크로서비스 테스트

4.1 어떤 유형의 테스트가 필요한가?

4.2 단위 테스트

4.3 불변성이란 무엇인가?

4.4 통합 테스트

4.5 소비자 중심 계약 테스트

4.6 추가 읽기 목록 

4.7 추가 연습문제

4.8 요약

 

CHAPTER 5 클라우드 네이티브 개발

5.1 클라우드란 무엇인가?

5.2 서비스 모델

5.3 클라우드 네이티브 개발

5.4 클라우드에 전개하기

5.5 미니시프트 시작하기

5.6 마이크로서비스 클라우드 전개

5.7 클라우드에서 테스트하기

5.8 추가 연습문제

5.9 요약

 

Part 2 엔터프라이즈 자바 마이크로서비스 구현

 

CHAPTER 6 마이크로서비스 소비하기

6.1 자바 클라이언트 라이브러리를 통해 마이크로서비스 소비하기

6.2 JAX-RS 클라이언트 라이브러리로 마이크로서비스 소비하기

6.3 요약

 

CHAPTER 7 소비할 마이크로서비스 발견하기

7.1 왜 마이크로서비스를 발견할 수 있어야 하는가?

7.2 손테일로 마이크로서비스 등록하기

7.3 손테일을 통해 등록한 마이크로서비스 소비하기

요약

 

CHAPTER 8 내고장성과 모니터링 전략

8.1 분산 아키텍처에서 발생하는 마이크로서비스의 실패

8.2 네트워크 실패

8.3 실패 영향 경감시키기

8.4 히스트릭스를 지불 마이크로서비스에 추가하기

8.5 요약

 

CHAPTER 9 마이크로서비스 보안

9.1 마이크로서비스 보안의 중요성

9.2 키클록 사용하기

9.3 스트라이프 마이크로서비스에 보안 적용하기

9.4 사용자 인증 획득하기

9.5 요약

 

CHAPTER 10 마이크로서비스 하이브리드 아키텍처 구성하기

10.1 카얌베 모노리스

10.2 카얌베 모노리스 실행하기

10.3 카얌베 하이브리드 - 마이크로서비스를 사용하는 모노리스

10.4 하이브리드 클라우드에 전체 전개하기

10.5 요약

 

CHAPTER 11 아파치 카프카를 이용한 데이터 스트리밍

11.1 아파치 카프카가 할 수 있는 일은 무엇인가?

11.2 모노리스 아키텍처를 스트리밍을 사용해 단순하게 만들기

11.3 데이터 스트리밍을 위해 카프카 전개하고 사용하기

11.4 추가 연습문제

11.5 요약

 

부록  스프링 부트 마이크로서비스

A.1 스프링 부트 프로젝트 해부도

A.2 애플리케이션 프로퍼티 설정하기

A.3 스프링 부트 스타터 의존관계

A.4 스프링 부트 애플리케이션 개발하기

A.5 스프링 부트 테스트

리뷰

이번에 리뷰하게 된 책은 '엔터프라이즈 자바 마이크로서비스'입니다.

책 리뷰는 한빛미디어로부터 책을 지원받아 작성하였습니다.

자바에 대한 경험이 없는 개발자에게는 어려운 내용일 수 있고, 기본적으로 자바를 알고 있다는 가정하에 작성된 책이기 때문에 책을 보시기 전에 Spring이나 자바에 대한 기초개념은 알고 책을 봐야 이해하기 쉬울 것이라고 생각된 책입니다.

 

 

책을 읽다보니 생각보다 내용이 상세하게 들어가 있어서 놀랐습니다. DDD 주도 설계, 실무에서 프로젝트를 진행하다보면 항상 고민하는 부분 중 하나입니다. 도메인 내에서 도메인을 컨트롤 해야하는 문제로 인해 추가적인 개발이 필요한 경우도 있으니까요. 도메인 내에서 처리하도록 개발을 하도록 고민하는 부분도 마이크로 서비스에서 중요한 부분이라고 생각해왔는데 책에서 다루어주는 것을 보고 내용이 깔끔함과 함께 상세한 내용을 꽉꽉 눌러담아놓은 좋은 책이라는 생각이 들었습니다. DDD에 대해서 더욱 자세히 공부하기 위해서 'DDD Start! - 최기선(교보문고)' 책을 추천드립니다. 품절 상태이긴한데 가끔 재고가 풀릴 때가 있어서 구입해서 보시면 좋을 것 같아 추천드립니다.

 

빅뱅패턴, 하이브리드 패턴, 스트랭글러 패턴 등 여러 패턴을 설명해주고 있고 그런 패턴들 중에서 대다수의 기업들이 모노리스에서 마이크로서비스로 전환하면서 하이브리드 패턴을 많이 사용하고 있습니다. 

 

이 책에서 마음에 들었던 부분 중 한 부분은 설명 시에 그림으로 보기 편하게 설명하고 있다는 점입니다. 글로만 봐서는 무슨 내용인지 이해가 잘 안가고, 어려울 때가 있는데 책 전반적으로 그림이 많아서 내용을 이해하기 쉬운 것이 장점입니다.

 

 

8장의 내용 중에 회로 차단(서킷 브레이커) 내용이 나오는데 실제로 서킷 브레이커를 적용 중이었던 제가 느끼기에, 책을 쓰면서 많은 고민을 했고 마이크로서비스에 대해서 고민해봐야하는 부분들을 책에 잘 녹여놓았다를 매번 느끼게 해줍니다. 마이크로서비스로 개발을 진행하면서 서킷 브레이커, 보안(9장) 등을 끊임없이 고민하고 생각하며 개발을 진행하고 있는데 이런 내용들이 책에 나오니 반갑기도 했습니다.

 

책 전반적으로 모노리스 서비스를 마이크로 서비스로 전환하면서 고민해야하는 많은 내용들을 담고 있습니다. 마이크로서비스로 전환을 하려고 하는 기업, 팀에서 서비스 구축 전에 한번 읽어봤으면 좋겠다라는 생각을 합니다. 제가 마이크로 서비스 구축을 하기 전에 봤다면 도움이 많이 되었을 것 같습니다.

 

댓글