반응형

요즘에 한참 클라우드 관련 내용들을 공부하고 도커, 쿠버네티스 에 대한 내용을 보다보니 마이크로 서비스에 대한 내용들을 자주 접하게 되었다. 컨테이너를 사용한 환경에서 어플리케이션을 배포하고 관리 하려면 아무래도 덩치가 큰것 보다는 좀더 작게 모듈화 해서 배포 하는것이 나을 것이다. 어플리케이션의 크기가 작아진다는 것은 간단히 생각해봐도 배포시간이 줄어들고 그렇게 되면 다운 타임 또한 줄어들게 된다. (물론 배포 전략에 따라서 이런 부분들은 없도록 하는게 맞다.) 그래서 나 또한 마이크로 서비스에 대해서 다시 관심을 갖게 되었고 이것저것 책을 찾아보고 읽어보고 있었다. 전부터 관심이 있어서 한번 읽어봐야겠다고 생각은 하고 있었는데 길벗 개발자 리뷰어에 선정되어서 이렇게 책을 접할수 있게 되었다. (베타리더때도 신청을 했었지만 그때에는 선정되지는 못했었다. ^^;)



목차는 아래와 같이 구성이 되어있다.


1장 스프링, 클라우드와 만나다.

2장 스프링 부트로 마이크로 서비스 구축

3장 스프링 클라우드 컨피그 서버로 구성 관리

4장 서비스 디스커버리

5장 나쁜 상황에 대비한 스프링 클라우드와 넷플릭스 히스트릭스의 클라이언트 회복성 패턴

6장 스프링 클라우드와 주울로 서비스 라우팅

7장 마이크로서비스의 보안

8장 스프링 클라우드 스트림을 사용한 이벤트 기반 아키텍처

9장 스프링 클라우드 슬루스와 집킨을 이요한 분산추적

10장 마이크로 서비스의 배포


부록 A 데스크톱에서 클라우스 실행

부록 B OAuth2 그랜트 타입


내가 기존에 알고 있던 내용들은 주로 컨피그 서버나 유레카를 이용한 서비스 디스커버리, 그리고 Zuul 을 사용한 라우팅 정도만 약간 해본 정도였다. 그런데 목차에서 보면 알수 있듯이 그것 이외에 다양한 내용들이 있다. 실패 전략을 통한 복구 패턴(5장), 인증및보안(7장), 그리고 이벤트 처리(8장)가 수록되어있다. 그리고 마이크로서비스 하면 중요하게 생각해야할 모니터링에 대해서 9장에 잘 설명해 주고 있다. 


또 내가 OAuth 2 처음 공부할때에 grant type 이 잘 정의가 안되어서 이해하는데 어려움이 많았었는데 이 내용도 부록을 통해서 설명해주고 있어서 공부하고 있는 입장해서 정말 알찬 구성인것 같다. 



다음은 책 내용을 살펴보자.



코드에 대한 내용과 그 의미들이 코드와 함께 담겨져 있다. 개인적으로 이런 형태의 코드 설명을 좋아하는 편이다. 그냥 종이 위에 코드만 써있는 것보다는 주석 이외에 이렇게 설명을 추가해주면 이해하는데 도움이 많이 된다. 



그리고 내가 읽으면서 가장 맘에 드는 부분이다. 마이크로서비스에 대한 개념과 구성을 거의 빠짐없이 그림으로 설명을 다 해준다. 마이크로 서비스 자체가 작은 단위로 쪼개서 전체 시스템을 구성하기 때문에 머릿속에서 그 큰 그림을 떠올리기는 쉽지가 않다. 어디에서 부터 시작을 해야 할지 막막해질 때도 있다. 그런데 이 책에서 고맙게도 구성, 개념을 알기 쉽게 그림을 통해서 설명을 해준다. 이 부분이 이 책의 가장 큰 장점인것 같다. 


책의 전체적인 내용들을 봤을때에는 초보자들을 위한 책이기 보다는 어느정도 Spring Boot 에 대한 지식을 가지고 있는 개발자에게 도움이 되는 책인것 같다. Spring Boot 에 대한 책이 아니라서 Spring Boot를 모르는 사람이 보기에는 코드부터가 어려울 수 있다. 그래서 Spring Boot 로 개발을 해봐서 코드를 이해하는데에 문제가 없는 분들이 마이크로 서비스를 이해하는데 많은 도움을 줄수 있는 책이라고 생각된다. 



728x90
반응형
반응형


길벗 페이스북에서  진행한 개발자 리뷰어에 선정되어서 좋은 책을 받게 되었다. 여러가지 책들이 있었는데 그중 내가 선택한 책은 "Node.js 마이크로서비스 코딩 공작소" 이다. 우선 선택한 이유는 내가 관심있어 하는 Node.js 와 마이크로 서비스에 대해서 알수 있을 것 같았다. 그리고 약간 두마리 토끼를 한번에 잡아보려는 생각에 선택을 하게 되었다. 


책 표지는 위 사진에서 볼수 있듯이 아주 깔끔하게 되어있다. 요즘 트랜드인가? 라는 생각이 든다. 왜냐하면 요즘 개발 관련 서적들 보면 정말 색감이 좋기 때문이다. 개인적으로는 그런 표지들을 가지고 있는 책들을 좋아한다. 전에도 한번 리뷰에서 쓴적이 있었던 것 같은데 개발 서적들은 코드들이 많이 있어서 딱딱할 수 있기 때문에 책 색깔이라든지 그림들이 좀더 아기자기 하게 넣어주면 책도 잘 읽힐것 같다는 생각을 많이 한다. 



책은 처음 모놀리식 아키텍처부터 시작해서 설계, 구현에 대한 내용을 언급 한 후 마이크로 서비스 화 해가는 내용으로 진행된다. 그리고 내가 목차 앞부분을 찍지 않고 뒷부분을 찍은 이유는 부록 때문이다. 처음에 책을 읽는데 코드는 나오는데 환경에 대한 내용이 없어서 좀 당황했다. 목차를 살펴보니 저렇게 부록으로 환경에 대한 부분이 나와 있었다. 필요한 환경에 대해서 차례대로 설치하면 되니 책에 나오는 코드를 따라 하기전에 한번 봐두는 것이 필요할것 같다. 그리고 저렇게 따로 목차로 뒷쪽에 빠져 있으니 더 찾기도 편한것 같다. 





책 내용 구성을 보면 위와 같이 그림이 많이 들어가 있다. 그리고 읽기에 빡빡하지도 않다. 각 챕터별 내용이 각각 나눠져 있으며 챕터들이 그렇게 장수가 많지 않아서 중간중간 끊어 읽기도 편했다. 프로그래밍 관련 책이지만 그냥 가볍게 읽어도 될 정도인 구성이다. 약간 모호한 표현이긴 하지만 눈에 쉽게 읽히고 읽는데 부담이 적었다. 이건 개인적인 느낌이다. 



코드도 보면 중요한 부분에 색깔로 표시되어 있다. 그리고 코드 내에 간단한 주석이 있고 그 아래 부분에 코드에 대한 내용을 자세히 설명하고 있다. 많은 책들이 이런 형태로 코드와 설명을 표시를 하는데 색깔을 다르게 한것은 좋은 방법인것 같다. 덕분에 좀더 코드를 즐겁게 쓰고 읽을 수 있었다.


그런데 한가지 이책을 읽을때 주의할점(?) 이 있다. 이 책은 내가 생각했던 것처럼 두마리 토끼를 잡을 수 있는 책은 아니다. 책에서도  언급되어 있듯이 이 책은 Node.js에 대한 기본서는 아니다. Node.js에 대한 내용의 이해를 바탕으로 모놀리스 아키텍처와 마이크로 서비스의 차이를 이해하고 그것들을 구현하는데 Node.js를 사용한 책이다. 그렇기 때문에 이책을 통해서 Node.js 의 문법을 배워본다 던지 하는것은 무리일것 같다. 다만 Node.js 에 대한 기초 지식이 있다면 책에서 나오는 소스들을 이해하는데 더 도움이 될것 같다. 




728x90
반응형

+ Recent posts