한빛출판네트워크

IT/모바일

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

JVM 기반 대규모 애플리케이션을 마이크로서비스로 설계, 구축, 관리하는 기술

한빛미디어

번역서

판매중

좋아요: 0
  • 저자 : 켄 피니건
  • 역자 : 오현석
  • 출간일 : 2019-07-25
  • 페이지 : 336쪽
  • ISBN : 9791162242094
  • 물류코드 :10209

합계 : 24,300

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

     

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

     

    이 책의 주요 내용

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

    20년 넘게 전 세계 여러 기업에서 컨설턴트와 소프트웨어 엔지니어로 일했다. 자바와 Java  EE에서 클라우드 마이크로서비스를 더 쉽게 개발하는 데 도움을 주는 손테일 프로젝트를 이끌고 있다. 라이브오크와 다른 여러 제이보스 프로젝트도 담당했다. 

    [역자] 오현석

    KAIST에서 전산학 학사와 석사 학위(프로그래밍 언어 연구실)를 취득했다. 삼성메디슨, 비트앤펄스 등에서 UI 개발자와 개발 팀장을 지냈고, 현재 호주 JNF Soft에서 풀스택 개발자 및 컨설턴트로 일하고 있다. 매일 조금씩 번역과 저술을 통해 조금이나마 동료 프로그래머에게 도움을 주고자 노력하고 있다. 웹이나 모바일 등의 분야에서 값 중심 프로그래밍을 통해 오류 발생 가능성이 적으면서 유지보수가 편한 프로그램을 작성하는 방법과 이를 지원하는 여러 도구를 만드는 일에 관심이 많다. 최근에는 블록체인을 활용한 서비스를 개발한다. 블록체인 스마트 계약에 프로그래밍 언어의 정적 분석 기법과 타임 이론 등을 적용해서 여러 노드에서 스마트 계약을 매번 실행하지 않고도 계약 결과를 블록체인에 안전하게 공유하는 방법을 고민한다. 『코어 파이썬 애플리케이션 프로그래밍 3판』, 『프로그래밍 인 스칼라 3판』, 『코틀린 인 액션』(이상 에이콘), 『함수형 반응형 프로그래밍』, 『러닝 리액트』(이상 한빛미디어) 등 20여 권을 번역했다.

     

  • 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 스프링 부트 테스트

  •  바쁜 자바 개발자를 위한 마이크로서비스 책!

    마이크로서비스를 적용하는 데 가장 알맞은 해법을 꼭 필요한 만큼만 제시한다.

     

    이 책은 자바로 마이크로서비스를 개발할 때 필요한 여러 요소를 간결하면서도 꼭 필요한 수준만큼만 설명한다. 자바 엔터프라이즈 서버 개발 경험이 있는 개발자라면 어렵지 않게 책의 내용을 이해할 수 있고 쉽게 마이크로서비스 개발을 시작할 수 있다. 게다가 레거시를 마이크로서비스 구조로 변환하는 예제를 보여주기 때문에 레거시 서비스를 중단하지 않고 점진적으로 마이크로서비스를 도입할 때도 도움이 된다.

     

    “자바 개발자가 마이크로서비스를 성공적으로 구현하는 데 필요한 개념, 패턴, 프레임워크를 잘 설명한다.” - 앤드루 블록, 레드햇

    “모노리스에서 마이크로서비스 아키텍처로 전환하기에 앞서 반드시 알아야 하는 내용을 다룬다.” - 케룸 세나나야케, 에퀴닉스

    “기업에서 마이크로서비스를 구현하는 방법을 완벽히 소개한다. 마이크로서비스에 관한 여러 문제를 살펴보고 그 해법을 다양하게 제시한다.” - 다미안 마시니, UBA 아르헨티나

    • 이번에 리뷰할 책은 "엔터프라이즈 자바 마이크로서비스" 입니다.


       



      B8925824072_l.jpg


       


       


      마이크로서비스가 도래한 배경부터 장점, 그리고 마이크로서비스를 위한 기반기술(환경), 테스트, 클라우드 deploy, 서비스 discovery, 내 고장성과 모니터링, 보안 등등을 다루고 있습니다.


      또한 아주 오래된 웹 어플리케이션에 하이브리드패턴을 통해 새로운 마이크로서비스를 덧붙여가는 과정을 통해 하나씩 필요한 개념들을 배울 수 있습니다. 300페이지의 분량으로 꼭 필요한 부분만 알찬 내용을 담고 있습니다. 


       


       


      기존 (모든 컴포넌트가 한번에 deploy되는 형태의)모노리스방식의 단점을 얘기하면서, 제한된 context단위의 서비스별로 분산처리하는 마이크로서비스의 개발방식이 생겨나게 되었습니다.


       


      일반적인 WAS는 j2ee등을 지원하기 위해 상당히 많은 기능을 포함하고 있어 매우 무겁습니다.  이에 JeAS(Juest Enough Application Service)라는 실행에 꼭 필요한 기능들만 패키징한 런타임이라는 개념이 생겼고 JAX-RS, CDI, JSON-P 정도의 기능들이 가볍게 동작합니다.


      드롭위저드, 파야라 마이크로, 스프링 부트, 손테일 등등이 이런 JeAS런타임들이며 어느것을 선택하느냐에 따라 패키징방법 및 소스의 annotation이 달라집니다.


       


      테스트는 일반적으로 알고 있는 단위 테스트 및 통합 테스트외에 소비자 중심 계약 테스트라는 마이크로서비스 소비자와 마이크로서비스 사이의 계약을 정의하는 합의 문서(pact document)를 기반으로 하는 테스트에 대해서도 다루고 있습니다.


       


      기존 사용하고 있던 서비스에서 마이크로 서비스를 찾아서 호출하는 케이스를 위해 하드코딩된 URL을 통해 호출하는 형태부터 추상화된 라이브러리사용 그리고 최종적으로 레지스트리에 등록된 서비스를 찾아서 이용하는 방법을 넷플릭스 리본을 통해 설명해준다.


       


      마이크로서비스의 보안에 대해선 키클록 오픈소스를 통해 설명한다.


       


      마이크로서비스가 여러 런타임으로 분산되어 있으면 필연적으로 네트웍에서 문제가 발생하는 경우가 많은데 이런 여러 문제상황별로 설명하고 히스트릭스라는 오픈소스를 통해 설명합니다.


       


      그리고 마지막으로 카프카를 통해 데이터 스트리밍에 대한 내용을 다루고 있습니다.


       


      회사에서 여러 컴포넌트로 이루어진 웹서비스를 모노리스방식으로 개발하면서


      마이크로 서비스로의 전환이나 도입은 막연히 힘들지 않을까 생각하고 아예 관심도 갖지 않고 있었는데


      하이브리드방식으로 기존시스템에 영향을 주지 않고 마이크로서비스형태의 서비스를 추가하는것이 생각보다 어렵지 않을 수 있겠구나 하는 생각이 들었습니다.


       


       


      메이븐 apache-maven-3.6.2 버전으로는 빌드 및 실행에 문제가 있네요.


      [ERROR] Failed to execute goal io.thorntail:thorntail-maven-plugin:2.2.0.Final:package (package) on project chapter1: Execution package of goal io.thorntail:thorntail-maven-plugin:2.2.0.Final:package failed: An API incompatibility was encountered while executing io.thorntail:thorntail-maven-plugin:2.2.0.Final:package: java.lang.AbstractMethodError: null


       


      전 메이븐 3.5.3으로 했을때 이상이 없었습니다.




    •  


      들어가며


      현재 나와 우리 팀은 프로젝트를 진행하며 필요에 따라 아키텍처를 개선해 나가는 중인데 서비스가 점점 커지면서 유지보수가 어려워지거나 여러 팀과 협업을 하다보니 자연스럽게 마이크로서비스 형태가 되어가고 있다. 서비스를 나누다 보니 외부 트래픽을 적절한 서비스로 분배해주기 위한 API Gateway가 필요하게 되고, 백엔드 서버들간 통신을 위한 내부 gateway나 큐와 같은 또다른 시스템들을 필요로 하게 되고, 아키텍처는 점점 복잡해졌다.


      나중에 알고 보니 이런 복잡한 상황들을 위한 아키텍처가 마이크로서비스 아키텍처이고, 같은 고민을 이미 선배 개발자들이 해왔으며, 이미 이런 것들을 비교적 쉽게 할 수 있는 도구들이 많이 나와있는 상황이었다. 현재 진행 중인 프로젝트가 마이크로서비스를 지향하고 있지만 마이크로서비스에 이해도가 높진 않다고 생각하기 때문에 이러한 도구들을 적극 활용하는 것이 좋다고 본다.



      더군다나 자바 기반의 서비스라면 잘 만들어져있는 프레임워크 위에 마이크로서비스를 더 쉽게 구현할 수 있다. 엔터프라이즈 자바 마이크로 서비스라는 이 책에서 이러한 내용들을 잘 설명하고 있다.


      책을 읽으며


      이 책은 번역서임에도 불구하고 저자를 보지 않았다면 한국사람이 썼다고 생각할 정도로 번역 품질이 좋다. 어색한 문장을 거의 찾아보기 힘들고, 어려운 내용을 이해하기 쉽게 쓰여졌다.


      게다가 아래와 같이 설명글도 잘 작성되어 있고,


       




       


      또 아래와 같이 그림도 많이 포함되어 독자들의 이해를 돕는다.


       




       


      사실 나는 자바 언어로 개발은 하고 있지 않기 때문에 자바 관련 내용은 크게 도움되진 않았지만 마이크로서비스를 구현하기 위한 방법과 이론은 동일하기 때문에 언어와 무관하게 개념 이해에는 큰 도움이 되었다.


      조금 우려가 되는 부분은 나의 경우 업무 특성상 연관된 부분이 많아서 이해하는데 어렵진 않았지만 익숙치 않은 독자들이라면 처음 들어보는 도구들로 인해 혼란스러울 것 같기도 하다는 생각이 들었다. 하지만 이 또한 극복한다면 엄청난 도움이 될 것이라 생각한다.


      마무리하며


      이번에 읽을 때는 코드 부분은 스킵하고, 훑어내려가며 읽었는데 내용이 너무 좋아 다시 한번 찬찬히 읽어 봐야겠다. 잘 알려진 마이크로서비스 아키텍처 관련 책(?) 이후로 꼭 봐야할 필독서라고 생각한다.


       


    • 요즘 마이크로서비스가 대세인 하다. MSA 흥행에는 기존 웹서비스들이 Cloud 전환하는 데에 제일 적합한 형태가 MSA라서 그런게 아닌 싶다.



      웹서비스를 개발하는데 여러 언어들이 있지만, 중에서 가장 많이 쓰이는 언어 중에 하나인 자바를 생각하지 않을 없다. 우리나라는 대부분 자바로 개발된 웹서비스들이 많이 있다.



      그런 자바로 개발된 웹서비스들을 생각해 보면 대부분 스프링으로 개발한 많을 하고, 스프링 중에서도 부트를 활용한 MSA 전환이 많을 같다.



      물론 내가 생각하는 것이 다는 아니겠지만, 적어도 내가 웹서비스들은 Cloud 전환하는 모두 스프링 부트를 활용해서 빅뱅방식으로 재개발하는 프로젝트들이 전부였다.



       그런 상황에서 책은 나에게 신선한 부분이 많이 있었다. 부트 아니 스프링은 벗어나서 JAVA EE 활용해서 마이크로서비스를 만드는 방식이라니, 참으로 새로웠다. 물론 책에 스프링 부트를 활용하는 방법도 나오지만, 엔터프라이즈 자바(JAVA EE) 생각해보면 누가 이걸 쓰나 싶기도 하고(물론 많이 사용하는 데도 많이 있겠지만) JAVA EE 결국에는 스프링과 유사한 부분이 많은 하다.



      JAVA EE 옛날 기술인거 같지만, 어디선가는 많이 사용하고 있을 뜻하고, 결국에는 스프링도 JAVA EE 경량화 해서 나온것인 만큼 생각해보면 유사한 부분이 많을 밖에 없을 하다.


       



      스프링하고 부트로만 개발해 사람이나, 기존 시스템이 JAVA EE 개발된 환경이라면 한번쯤 만한 책인 싶다.


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


       


       


      엔터프라이즈 자바에 마이크로서비스를 얹은 재미있는 책이 한빛미디어를 통해 번역되었다. 책은 자바를 기반으로 하는 마이크로서비스를 소개하고 있는데 자바 언어 자체를 모른다면 책을 읽는데 어려움이 있을 수 있다. 책을 소개할 때 대상 독자를 아래와 같이 정의한다.


       


      "이 책은 최소 4년 이상 엔터프라이즈 자바 개발 경험이 있는 개발자를 대상으로 한다. 그런 개발자 중에는 마이크로서비스에 대해 기본적인 지식을 갖췄거나, 엔터프라이즈 자바 기술이 아닌 기술을 기반으로 하는 환경(Node.js 등)에서 마이크로서비스를 시도해본 개발자도 있을 것이다. 하지만 엔터프라이즈 자바 마이크로서비스를 개발한 경험이 없는 개발자가 이 책의 대상이다."


       


      책은 모노리스부터 마이크로서비스의 개략적인 소개로 시작된다. 결국 최종 목표는 엔터프라이즈 자바 마이크로서비스를 이해하고 개발하는 것이지만 이 책을 통해 얻을 수 있는 부수적인 것들이 상당하다. 최종 목표로 향해가는 길목에서 우리는 아래와 같은 주요 내용을 챙기게 된다.


       


      - 마이크로서비스 모델


      - CI/CD 이해


      - 클라우드 네이티브 개발


      - 내고장성 전략과 모니터링 전략


      - 개발을 마친 애플리케이션에 보안 추가


       


      혹시 자바 언어 자체는 잘 모르지만 마이크로서비스에 대한 이해가 있고, 클라우드에 대한 얕은 지식만 있다면 이 책은 꽤 훌륭하게 읽히는 책이다. 내 경우가 그런 경우다. 이제 곧 자바 개발 입문을 목전에 두고 있는 상태인데 책을 덮고 나니 좋은 선배 개발자와 기분 좋은 대화를 마친 기분이 든다.

    • 파이썬 고 등으로 쉽고 간단히 마이크로서비스를 만들 수 있지만 보안이나 스케일링을 고려할 때는 결국 자바로 하게 되어있다. 그래서 내부용이나 간단한 것만 아니면 자바로 했겠지만, 이 책은 어떤 서비스든 자바로 마이크로서비스 개발이 가능하다는 것을 알려준다. 오픈스택과 오픈소스 기반의 솔루션들을 함께 사용하면 가능하고, 이 책은 하나씩 그 방법들을 알려준다


      0d250425-e9ae-4742-b33d-78133047abca (2).jpeg


       


    •  



      요즘 필자가 사내에서 진행하는 프로젝트에서 사용하는것이 자바이고 그 중에서 특히나자바 스프링 부트와 마이크로 서비스 아키텍처 기법을 이용하여 프로젝트를 진행하고있던 찰라정말 시기 적절하게 위의 책이 등장하게 되어 이번에 리뷰하게 되었다이 책은 자바를 이용한 마이크로 서비스를 진행하려는 개발자들에게 어떤 관점으로서비스 아키텍처에 접근해야되며어떤 부분들에 주목해야하는지그리고 어떤식으로 서비스들을 나누어 함수들을 유기적으로 결합시켜야하는지 등을 매우잘 설명한 알짜배기 책이라 할 수 있다.








      【어떤 독자를 위한책인가】



      이 책은 서비스라는 개념에 대해서 어느정도 알고 있는 실무자들에게 적합한 책이라 생각된다물론 초심자들이 읽어도 좋은 책이이긴 하나실제로 그리 와닿지 않을 가능성이크고 또한 책의 내용을 정확히 이해하는데에 있어어려움이 있을 수 있기 때문이다따라서 현재 자바를 이용한 특히 자바 스프링 부트와 자바 마이크로 아키텍처를 이용하여무엇인가 서비스를 구성하고 개발하려는 독자가 있다면 이 책은 훌륭한 방향성을 가르쳐 줄 것이라 본다.








      【책의 구성】 '엔터프라이즈 자바 마이크로 서비스책의 구성은 어떠한가.



      이 책은 필자의 기준에서 보았을때적절한 량의코드 스타일 설명과 이론 설명을 병행하고 있다또한 이론 설명을 할때 다양한 그림과 계층 구도를 예를 들어가며 설명하기 때문에 한층더본인이 기획하고 개발하려는 서비스에 한발짝 더 다가갈 수 있는 그런 구조를 취하고 있다또한 다양한 상황과 예를 들어가 친절히 하나하나 설명해주는 구조를 취하고 있어 독자로하여금 충분히 궁금해할 부분을 시원히 긁어주는 구조를 택하고 있다다만 자바의 기초 문법이나 스프링의 자세한 내용등은 자세한 설명이 없기 때문에 이 부분이부족한 사람들은 다른 책과 함께 위 도서를 공부할 것을 권한다.








      【엔터프라이즈 자바마이크로 서비스를 읽으며…….



      이번에 새로운 프로젝트에 투입되며 필자가 느낀점은시대는 정말 많이 변했지만그 본질은 크게 변하지 않았다는 점이었다누군가는 새로운 기술이 매일매일 생겨나는 오늘의 시대가 절망일 수 있겠지만필자의 눈에는 그 본질은 크게 변하지 않았고 오히려 전통적인 접근법이 그 어느때보다도 더 많이 사용되는 시대라는 점에서 절대 두려워 할 필요가 없다는 점이다물론 빅데이터 마이닝과 인공지능과 같은 분야가 요즘의 트랜드로 부각되고 있지만위 분야들은 10년전에도 엄청나게 부각되었었다다만 그 부각정도가 다른 분야에 가려저 두각을 나타내지 못했을 뿐중요성은 예나 지금이나 크게 바뀌지 않았다그렇기에 지금의 격변하는 시대를 살아가는 개발자들에게 절대 새로운 것을 배우는데에있어 두려워하지 말라고 당부해주고 싶다그 근본은 옛날의 가장 기초가 되었던 기술들이고 그것들을 충분히 잘 이해하고만있다면 크게 어려워해할 일이 아니기 때문이다.


       






    •  

































      이번에 엔터프라이즈 자바 마이크로서비스라는 책에 대해서 리뷰를 하게 되었다



      용어부터가 어렵다 "엔터프라이즈 자바" 그렇다면 엔터프라이즈 자바란 무엇인가에 대해서부터 알아보자



      엔터프라이즈 자바는 API의 모음과 그 구현을 말한다. API와 구현은 UI로부터 아랫단의 데이터베이스에 이르기까지 웹 서비스를 통해 서로 통신하며 내부 레거시 시스템에 통합된 전체 애플리케이션 스택을 제공한다.



      어렵다..... 개발자들이 자신의 분야에 맞는 원하는 기능들을 미리 만들어 놓아 좀더 비지니즈 가치를 제공하는 일에 집중할 수 있도록 만들어 주는 기능을 모아놓은것이라고 생각하면 될것 같다.



      가장 많이 사용되는 플랫폼으로는 자바 플랫폼 엔터프라이즈 에디션(Java EE)과 스프링(Spring)이 있다. 엔터프라이즈 자바를 사용하는 대부분의 기업 개발자들은 이 두 프레임워크를 사용한다고 한다



      그렇다면 마이크로 서비스란 무엇인가? 마이크로 서비스는 한 프로세스 안에 들어가 실행되는 단일 전개로 구성되며, 비즈니스 기능 중 구체적인 일부분을 충족하기 위해 작동된다.



      한 마이크로서비스와 다른 마이크로서비스의 전개와 실행은 완전히 분리된다.


       



      이 책은 2부로 나뉜다. 1부는 1장부터 5장까지 분산시스템과 마이크로서비스의 전반적인 아키텍처를 다루고, 애플리케이션 서버를 가볍게 만드는 것과 테스팅, 클라우드네이티브 개발에 대한 개념을 다룬다



      2부는 서비스 레지스트리, 내고장성, 보안 등 마이크로서비스 개발에 관련된 핵심 내용을 설명한다.


       




      Part 1 마이크로서비스 기초

















      1장은 독자들에게 엔터프라이즈 자바를 소개한다. 특히 모노리스가 무엇이고 왜 모노리스가 생기는지에 대해 설명한다.
















      2장은 쇼핑사이트의 카테고리 목록을 관리하기 위한 레스트풀 종단점을 개발하는 과정을 보여주면서 마이크로 서비스를 소개한다.













      3장은 꼭 필요한 만큼의 애플리케이션 서버라는 개념을 소개하고 그 런타임 시스템을 지원할 때 사용할 수 있는 프레임워크들의 차이를 보여준다.


       














      4장은 마이크로 서비스를 사용할 경우 단위 테스트와 통합 테스트가 어떻게 달라지는지 보여주고 테스팅을 쉽게 하기 위한 도구를 소개한다.













      5장은 클라우드에 대해 이야기하고 다른 클라우드 한경에서 사용 할 수 있는 여러 서비스 모델을 소개한다.


       



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













      6장에서는 외부 마이크로 서비스가 제공하는 기능을 소비해야 하는 경우 사용할 수 있는 라이브러리와 각각이 어떤 수준의 추상화를 제공하는지에 대해 설명한다.











      7장은 6장을 확장애서 마이크로 서비스가 사용하고 싶은 외부 마이크로서비스를 찾을때 필요한 기능을 추가한다.













      8장은 마이크로서비스와 분산 아키텍처에서 가장 중요한 주제로 실패에 대해 설명하고 어떻게 실패의 영향을 줄일 수 있는지 살펴본다.











      9장에서는 마이크로서비스의 보안에 대해 설명하고 키를록을 통해 보안을 달성하는 방법을 설명한다















      10장에서는 카얌베 모노리스를 다시 살펴보면서 변경하지 않은 상태에서 카얌베를 실행 할 수 있는 방법을 보여준다.













      11장에서는 아파치 카프카의 데이터 스트리밍을 사용해 하이브리드와 마이크로서비스 사이의 데이터 중복을 감소시키는 방법을 설명한다.










       



      총평



      이 책의 대상 독자로는 최소 5년 이상 엔터프라이즈 자바 개발 경험이 있는 개발자를 대상으로 한다고 한다. 책이 난이도가 좀 있다 마이크로서비스에 대해 개념과 원리를 이해하고



      책을 본다면 수월할수 있을것 같다



      기업에서 마이크로 서비스를 구현하는 방법에 대해 알고 싶은 개발자에게는 유용할것이다.



      자바 개발자가 마이크로 서비스를 성공적으로 구현하는데 필요한 개념, 패턴, 프레임워크에 대해서 잘 설명하였다






      

       


    • KakaoTalk_Photo_2019-09-12-21-14-43.jpeg


       


       



      기존 모노로스 식의 문제점과 마이크로 서비스에 대한 개념과 장점을 소개하여



      기존 서비스를 MSA 마이그레이션 했을떄 장점을 소개 해주었습니다.


       


       



      MSA 구현, 테스트, 운영 등을 경험해볼수있게 책의 구성과



      설계에 대한 구조도를 한눈에 있어서 내용을 이해하는데 많은 도움이 되었습니다.


       


       



      한권으로 MSA 대한 모든 개념과 기술을 마스터 있다고 없지만,






      MSA 대해서 시작을 하기 위한 사람이라면 더욱 쉽고 빠르게 적응하고 습득할 있도록 도와주는 책이라고 생각합니다.


       




    •  



      안녕하세요 예지우랑입니다. 
      최근 제가 자전거타는 프로그래머에서 요가하는프래그래머가된사실을 알고계신가요?



      오늘은 오랫만에 도서리뷰를 하려고합니다. 
      전통의 명가 한빛 미디어에서 리뷰의 기회를 주셨습니다. 항상 감사하게생각합니다. 
      아무래도 깊은 내용의 책을 짧은 기간내에 소화한 후 리뷰를 하기는 제 역량이 아직 부족한거같습니다 ㅠ
      그래서 이번 리뷰는 책의 목차 소개 및 훑어본 후 짧은 소감정도로 마쳐야할거같습니다. 

      그러면 책의 목차를 살펴보도록하겠습니다. 



       



      위에 목록에서 나온것처럼 
      일단 개념부터 들어가며, 구현방법 및 테스트, 운영까지 전반적으로 다루기때문에 책에서 말하는 독자층인 마이크로서비스에 관심을 가지고있는 분들이 처음 보기에 매우 좋은 책이라는 생각이 듭니다. 



      먼저 책을 읽은 짧은 소감
      - 기존 모놀리식 서비스의 문제점부터 시작합니다. 
      - 마이크로 서비스란 무엇인지 알려줍니다. 
      - 실제 서비스를 만들면서 진행하기때문에 이해가쉽습니다. 
      위에 3가지정도로 요약할 수 있을거같습니다. 



      아쉬운점이 있다면 일부 용어들은 굳이 번역이 필요했는가? 하는 생각이 들었습니다. 소비자 => 컨슈머 뭐 이런것들은 그냥 영어릉 표기했다면 더 좋았을거같다는 생각이 드네요 


      이상으로 정말정말 가벼운 리뷰를 마칩니다. 



      리뷰라고 부르기도 좀 부그럽지만 저는 내일부터 제법 긴 휴가를 떠납니다. 
      휴가중에 가지고가서 좀더 자세히 읽어보고 어쩌면 다시한번 리뷰를 쓸지도 모르겠습니다.


       


      감사합니다. 






  • 내용이 없습니다.
닫기

해당 상품을 장바구니에 담았습니다.
장바구니로 이동하시겠습니까?