dev/Java&Spring

스프링마이크로서비스 2/e 책 리뷰

lugi 2019. 2. 23. 20:50
http://mobile.kyobobook.co.kr/showcase/book/KOR/9791161751108?orderClick=Ow2

세 줄 요약 먼저 :
소스 코드나 실습 위주의 책 아니다.
마이크로서비스 자체의 이론이 많다
비즈니스 케이스에 적용한 도식이 많아 좋았다.

이 책은 사둔지 꽤 된 책인데 이제야 다 읽었다.
새 프로젝트에서 내가 맡은 부분을 만들기 위해 어떤 기술 스택을 선정할까 많이 고민하다 읽었다(go를 쓸까... kotlin+boot로 맨날 하던 짓을 해볼까 java로 안 해본 spring cloud를 할까)

처음 이 책을 고르던 시점에는 스프링5를 접한지 얼마 되지 않은 시점이었고 마이크로서비스에 대한 관심이 개인적으로나 아니면 회사에서나 슬슬 커지던 시기라서, 마이크로서비스 아키텍처(벌집책)를 본 이후 시대에 뒤떨어지면 안 된다는 생각에 산 책인데, 애초에 기대했던 바는 스프링클라우드 및 부트를 이용해서 실습을 해 나가는 내용을 기대했다.

결론부터 말하자면 이 책은 그런 목적에는 약간 부합하지 않는다. 그렇다고 해도 나쁜 책이란 말은 아닌데, 그 이유를 풀어보자면 11개의 챕터 중 5개 정도? 의 챕터가 소스코드가 아니라 마이크로서비스 아키텍처에 대한 이론이나 비즈니스에 적합한 마이크로서비스 아키텍처에 대한 도식과 관련된 내용이다 해당 챕터에는 내가 기대했던 그런 실습이나 소스코드가 거의 없다 그리고 1개 챕터 정도는 마이크로서비스에 필요한 로깅이나 모니터링과 관련된 내용이며 마지막 2개 정도의 챕터는 도커나 메소스 마라톤에 관한 이야기이다.

근데 마이크로서비스 아키텍처책을 이미 읽었고 엘라스틱스택이나 카프카를 이용해 로그집중화를 구성하고 있고, 도커나 쿠버를 구성하는 게 부서의 업무 중 중요 부분을 차지하고 있는 입장에서는 다른 책들이 이미 세세히 다루고 있는 걸 보고 있는데, 이 책에서 그러한 내용들을 절반 넘게 다루고 있는 것이 약간 예상과 다른 책이란 느낌을 줬다. 어디까지나 나는 스프링클라우드를 이용해 뭔가를 따라 만들어보고 싶었던 거니까...

그런 의미에서 보자면 이 책에서 내가 기대했던 내용이 있는 챕터는.스프링클라우드나 컨피그의 구성, 넷플릭스 OSS에 대한 소개 및 예제 등이 있는 3~4개 챕터인데, 그것 또한 뭔가 완결된 체계의 실습이라기보단 해당 부분을 설명하기 위한 튜토리얼들의 모음 같은 느낌?

그럼에도 불구하고 이 책이 꽤나 만족스러웠던 이유는 물론 마이크로서비스 아키텍처 책을 읽었지만, 내가 그 책을 완벽하게 습득했는지 확신이 안 가는 상황에서 다른 텍스트를 읽으며 생각할 거리를 줬다는 점이고, 똑같은 마이크로서비스 아키텍처의 개요에 대해 설명하더라도 이 책이 좀 더 비즈니스 사례를 들어 설명하고 있고, 실질적인 예시를 많이 들고 있다는 점이다. 마이크로서비스 아키텍처책이 뭔가 이론적인 부분에 많이 치우쳐 있다면 이 책을 그걸 가상의 비즈니스 사례에 빗대어 풀어서 설명하거나 직면한 문제에 대한 해법을 도식하고 있다는 점? 그렇게 때문에 사실 스프링 마이크로서비스에서 "스프링"이라는 단어가 빠지더라도 충분히 의미있는 책이란 생각이 든다.

그런 점에서 내가 첨에 예상했던 완결된 체계의 실습과 소스코드가 주는 아니지만, 스프링으로 마이크로서비스를 만들기 전 알아야 하는 폭넓은 지식에 대해서는 충분히 전달해줬단 생각이 든다. 더 필요한 깊은 지식은 계속 공부하며 다른 책을 찾아서 보면 되니까...