내블로그 | 랜덤블로그 쪽지
지니랜드
http://blog.yes24.com/bumjin
리스트 | RSS
태그 & 테마링 | 방명록
지니랜드
지니랜드
프로필 쪽지 친구추가
9월 스타지수 : 별348
댓글알리미 비글 : 사용안함
전체보기
기본 카테고리
나의 리뷰
Wish List
My Story
My Favorites
나의 리뷰
기본 카테고리
나의 메모
기본 카테고리
태그
자바8인액션 한빛리더스
2019 / 09
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
월별보기
나의 친구
나의 친구들
최근 댓글
내용이 없습니다.
새로운 글
오늘 9 | 전체 938
2005-01-02 개설

2019-09 의 전체보기
[리뷰] 엔터프라이즈 자바 마이크로서비스 | 기본 카테고리 2019-09-16 00:31
http://blog.yes24.com/document/11627376복사Facebook 보내기 트위터 보내기

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

켄 피니건 저/오현석 역
한빛미디어 | 2019년 07월

내용     편집/구성     구매하기

마이크로 서비스에 대한 좋은 길잡이

위 상품을 구매하면, 리뷰등록자에게 상품판매대금의 3%가 적립됩니다. (상품당 최대 적립금액 1,000원) 애드온 2 안내

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

http://www.hanbit.co.kr/data/books/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으로 했을때 이상이 없었습니다.

이 글이 좋으셨다면 SNS로 함께 공감해주세요.
댓글(0) 트랙백(0)
이 리뷰를 | 추천 0        
1
진행중인 이벤트
나의 북마크
이벤트 세상
지니랜드-이글루