kianms10***
2020-07-03

JVM 기반 마이크로서비스 애플리케이션을 설계하고 구축하는 방법을 알려준다. 전통적인 Java EE 애플리케이션과 마이크로서비스 설계를 비교한 후 마이크로서비스를 이루는 각 요소를 설명하는 방식으로 독자의 이해를 돕는다. 이를 바탕으로 마이크로서비스를 구현하는 도구와 기법을 설명한다. 마이크로서비스를 매끄럽게 운용하는 모니터링, 보안, 테스팅, 클라우드 전개 방법도 함께 살펴본다.
이번에 리뷰하게 된 책은 '엔터프라이즈 자바 마이크로서비스'입니다.
책 리뷰는 한빛미디어로부터 책을 지원받아 작성하였습니다.
자바에 대한 경험이 없는 개발자에게는 어려운 내용일 수 있고, 기본적으로 자바를 알고 있다는 가정하에 작성된 책이기 때문에 책을 보시기 전에 Spring이나 자바에 대한 기초개념은 알고 책을 봐야 이해하기 쉬울 것이라고 생각된 책입니다.
책을 읽다보니 생각보다 내용이 상세하게 들어가 있어서 놀랐습니다. DDD 주도 설계, 실무에서 프로젝트를 진행하다보면 항상 고민하는 부분 중 하나입니다. 도메인 내에서 도메인을 컨트롤 해야하는 문제로 인해 추가적인 개발이 필요한 경우도 있으니까요. 도메인 내에서 처리하도록 개발을 하도록 고민하는 부분도 마이크로 서비스에서 중요한 부분이라고 생각해왔는데 책에서 다루어주는 것을 보고 내용이 깔끔함과 함께 상세한 내용을 꽉꽉 눌러담아놓은 좋은 책이라는 생각이 들었습니다. DDD에 대해서 더욱 자세히 공부하기 위해서 'DDD Start! - 최기선(교보문고)' 책을 추천드립니다. 품절 상태이긴한데 가끔 재고가 풀릴 때가 있어서 구입해서 보시면 좋을 것 같아 추천드립니다.
빅뱅패턴, 하이브리드 패턴, 스트랭글러 패턴 등 여러 패턴을 설명해주고 있고 그런 패턴들 중에서 대다수의 기업들이 모노리스에서 마이크로서비스로 전환하면서 하이브리드 패턴을 많이 사용하고 있습니다.
이 책에서 마음에 들었던 부분 중 한 부분은 설명 시에 그림으로 보기 편하게 설명하고 있다는 점입니다. 글로만 봐서는 무슨 내용인지 이해가 잘 안가고, 어려울 때가 있는데 책 전반적으로 그림이 많아서 내용을 이해하기 쉬운 것이 장점입니다.

8장의 내용 중에 회로 차단(서킷 브레이커) 내용이 나오는데 실제로 서킷 브레이커를 적용 중이었던 제가 느끼기에, 책을 쓰면서 많은 고민을 했고 마이크로서비스에 대해서 고민해봐야하는 부분들을 책에 잘 녹여놓았다를 매번 느끼게 해줍니다. 마이크로서비스로 개발을 진행하면서 서킷 브레이커, 보안(9장) 등을 끊임없이 고민하고 생각하며 개발을 진행하고 있는데 이런 내용들이 책에 나오니 반갑기도 했습니다.
책 전반적으로 모노리스 서비스를 마이크로 서비스로 전환하면서 고민해야하는 많은 내용들을 담고 있습니다. 마이크로서비스로 전환을 하려고 하는 기업, 팀에서 서비스 구축 전에 한번 읽어봤으면 좋겠다라는 생각을 합니다. 제가 마이크로 서비스 구축을 하기 전에 봤다면 도움이 많이 되었을 것 같습니다.