ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 스프링 부트 실전 활용 마스터
    2022. 12. 5. comments
    반응형

    그렉 턴키스트  (지은이), 오명운  (옮긴이), 이일민  (감수)

    개발 관점에서 성능은 크게 cpu bound, i/o bound 2가지 주제로 나눌 수 있다. cpu bound는 cpu 연산을 주로 말하기 때문에 실제 컴퓨터의 성능과 직접적으로 연관이 있지만 i/o bound는 디스크나 외부 네트워크와의 통신 등으로 실제 컴퓨터의 연산과는 다소 거리가 있다.

    웹 생태계에서는 과거부터 주로 사용되었던 동기식 요청을 처리하기 위해 다수의 process(또는 thread)가 활용되었는데, 대용량 트래픽이 인입된다면 그에 맞게 process 또는 thread가 함께 생성되어야 하며, cpu보다는 늘어난 메모리가 문제가 되는 현상이 발생하게 된다. 이러한 대규모 i/o 이슈를 해결하기 위해 비동기 처리가 많이 활용되고 있다.

    Java에서는 Spring boot 버전 2부터 Webflux라는 이름의 비동기 처리를 지원하고 있다. 이 책은 webflux에 대한 프로젝트를 구성하고 실제 구현 및 운영하는데 있어 필요한 가이드북이다. 저자 그렉 턴키스트는 유명한 가상화 솔루션 회사인 vmware 수석 개발자로서, Reactive RDB를 지원하는 R2DBC, 그리고 MongoDB 프로젝트의 commiter이다. 심지어 Webflux에 사용되는 reactor는 vmware에서 만든 reactive stream 구현체이다. 또한 감수한 이일민(토비)님 그리고 다수의 추천사를 보면 이 책이 우리나라로 옮겨져 출판하기까지 얼마나 많은 사람들의 리뷰를 받았는지 알 수 있다.

    책 리뷰를 지금 적지만, 실제로는 작년 여름부터 여러번 읽어봤던 책이다. 특히 채팅을 위한 신규 API 서버 개발을 진행할 때, 설계 검토 중 비동기 처리가 필요하다는 판단이 들었고 Spring boot webflux을 선택하였다. 그 당시에 레퍼런스 문서들뿐 아니라 도움이 될만한 가이드북이 필요하여 이 책을 구매하였고 프로젝트를 구성하고 개발/테스트/운영까지 빠르게 진행할 수 있게 도와주었다. 

    1장에서 간략한 소개 및 프로젝트 구성부터 시작하여 Reactive MongoDB 데이터 예시 그리고 개발자 도구 및 테스트로 내용이 이어진다.

    2장 쿼리방법별 장단점

    책 중간중간 이해를 돕기 위한 소중한 설명들이 포함되어 있다.

    한편, 서술되고 있는 내용 하나하나에 풍부한 예제가 설명이 있다고 말하기는 어렵다. 책 내용을 기반으로 실험을 해보고 이후 상세한 내용들을 원한다면 별도로 관련 기술 문서를 찾아보고 정리할 필요성이 있다. 또한 Reactor에 대한 예시나 추가 설명이  대략 10페이지 좀 더 넣었으면 어땠을까하는 아쉬움도 든다. 그럼에도 불구하고 결론을 정리하자면 괜찮은 책이다. 신규 프로젝트로 webflux를 고민했다면 읽어보면 생산성에 큰 도움이 될 것이다. 

    반응형

    댓글

Designed by Tistory.