간편결제, 신용카드 청구할인
PAYCO(페이코) 최대 5,000원 할인
(페이코 신규 회원 및 90일 휴면 회원 한정)
네이버페이 1%
(네이버페이 결제 시 적립)
북피니언 롯데카드 30% (22,050원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (25,200원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (28,350원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (29,300원)
(최대할인 3만원 / 3만원 이상 결제)
Close

아카를 이용한 마이크로서비스 개발 : 예제 애플리케이션 구축과 함께하는 아카 이해하기

원제 : Mastering Akka
소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 364
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

35,000원

  • 31,500 (10%할인)

    1,750P (5%적립)

할인혜택
적립혜택자동적립
추가혜택
배송정보
주문수량
감소 증가
  • 이벤트/기획전

  • 연관도서(17)

  • 사은품(12)

책소개

예제 애플리케이션 구축과 함께하는 아카 이해하기

이 책은 아카를 통해 반응형 애플리케이션, 비동기, 이벤트 기반 및 분산 시스템을 구축할 수 있는 가이드를 제공한다. 1장에서 초기 모놀리식 아카 애플리케이션을 소개하고, 마지막 10장까지 해당 애플리케이션을 개선시킨다. 뿐만 아니라 각 장별로 과제가 포함돼 있기 때문에 직접 코드를 수행해보며 쉽게 이해할 수 있다. 아카 및 추가 라이브러리에 대한 설명과 도메인 주도 설계 및 이벤트 소싱도 접할 수 있다. 책을 정독하며 예제 애플리케이션 코드를 개선해보기를 추천한다.

출판사 서평

[이 책에서 다루는 내용]

- 아카 액터 사용 방법
- 도메인 주도 설계를 적용한 구축 방법
- 엔티티 지속성을 위한 아카 퍼시스턴스, 프로토콜 버퍼, 카산드라 활용 방법
- 그래프 빌더 DSL 활용 방법
- 아카 스트림을 이용한 백 프레셔 처리 방법
- 아카 HTTP를 이용한 요청/응답 처리 방법
- 고가용성을 위한 ConductR 활용 방법

[이 책의 대상 독자]

라이트밴드(Lightbend) 플랫폼을 이용해 고성능의 반응형 애플리케이션을 구축하고 싶다면 이 책을 읽자. 또한, 아카의 새로운 기능을 현재 혹은 앞으로의 프로젝트에 적용할 계획이 있는 스칼라 개발자에게도 도움이 될 것이다. 동시성, 확장성, 반응형 애플리케이션을 고민하는 자바 개발자에게도 도움이 될 것이다.

[이 책의 구성]

1장, '효과적인 반응형 애플리케이션 구축'에서는 초기 예제 애플리케이션을 소개하고 앞으로 개선할 내용을 정리한다.
2장, '액터를 이용한 동시성 프로그래밍 단순화'에서는 액터를 자세히 소개하고 아카 FSM을 이용해 리팩토링한다.
3장, '도메인 주도 설계를 통한 빈약한 모델 개선'에서는 도메인 주도 설계의 개념과 적용 방법을 설명한다.
4장, '이벤트 소싱을 통한 히스토리 생성'에서는 이벤트 기반 엔티티의 이벤트 소싱(Event Sourcing)을 소개한다.
5장, 'CQRS를 통한 관심사 분리'에서는 CQRS를 통해 모델을 분리하고 작성하는 방법을 알아본다.
6장, '아카 스트림을 통한 흐름'에서는 백 프레셔와 스트림 기반 처리를 위한 아카 스트림(Akka Streams)을 설명한다.
7장, '아카 HTTP를 이용한 REST 구축'에서는 RESTful 인터페이스 구축을 위한 아카 HTTP의 활용 방법을 설명한다.
8장, '아카 리모팅/클러스터를 이용한 스케일 아웃'에서는 수평적 확장 및 고가용성을 위해 아카 리모팅/클러스터(Akka Remoting/Cluster)를 활용하는 방법을 알아본다.
9장, 'ConductR을 이용한 배포 관리'에서는 ConductR을 이용해 마이크로서비스를 구축 및 배포하는 방법을 설명한다.
10장, '문제 해결과 모범 사례'에서는 아카 사용에 대한 모범 사례를 제공한다.

목차

1장. 효과적인 반응형 애플리케이션 구축
첫 예제 애플리케이션 이해
예제 애플리케이션 작업
-도커 설정
-서점 애플리케이션의 Postgres 스키마 이해
-윈도우에서 bash 스크립트 실행
-예제 애플리케이션 실행
-예제 애플리케이션 엔드포인트와 상호작용
예제 애플리케이션의 문제
-확장성의 이해
-스케일 큐브
-예제 애플리케이션 모놀리식 시스템의 확장 문제
-관계형 데이터베이스 사용 문제
-애플리케이션의 도메인 모델 평가
-잘못된 액터 인지
-HTTP 라이브러리 교체
요약

2장. 액터를 이용한 동시성 프로그래밍 단순화
액터 모델 등장 배경 이해
동시성과 병렬화 차이
-컴퓨팅에서 동시성의 정의
-병렬성의 정의
-동시성 프로그래밍의 위험
안전한 동시성을 위한 아카 액터 사용
-액터와 동시성 프로그래밍
-아카 액터와 라우터를 이용한 병렬성
아카의 디스패처에 대해
-디스패처 및 실행자
-아카의 디스패처 유형
-액터의 디스패처 구성
아카 메일박스 유형
-Unbounded 메일박스
-Bounded 메일박스
-액터 메일박스 구성
상태머신(FSM)을 통한 액터 리팩토링
-새로운 프로세스 흐름 모델링
-새로운 주문 프로세스 코딩
아카 액터 테스트
-테스트 피라미드 이해
-아카 액터 단위 테스트
-SalesOrderProcessor 액터 테스트
테스트 과제
요약

3장. 도메인 주도 설계를 통한 빈약한 모델 개선
도메인 주도 설계 개념
-도메인 계층 파악
-전략적 도메인 주도 설계의 이해
-전략적 도메인 주도 설계의 의사소통 패턴
-도메인 주도 설계의 빌딩 블록
빈약한 모델 및 풍성한 모델 식별
도메인 주도 설계 리팩토링 설계
-서점 컨택스트 맵
-액터를 이용한 도메인 주도 설계 모델링
-사용자 관리 컨텍스트 리모델링
-재고 관리 컨텍스트 리모델링
-신용카드 처리 컨텍스트 리모델링
-판매 주문 처리 컨텍스트 리모델링
리팩토링된 서점 애플리케이션 코드 이해
-EntityActor 추상 클래스
-EntityAggregate 추상 클래스
-Book과 InventoryClerk 액터
주문 생성 처리에서 트랜잭션 해결
리팩토링 개선 항목
리팩토링 과제
요약

4장. 이벤트 소싱을 통한 히스토리 생성

이벤트 소싱 기본
-이벤트 소싱의 장점
-이벤트 소싱의 단점
-서점 애플리케이션의 이벤트 소싱 예
이벤트 소싱을 위한 아카 퍼시스턴스
-PersistentActor trait
-AsyncWriteJournal
-SnapshotStore
지속적 저장소를 위한 카산드라 사용
-카산드라 설치
-카산드라 사용을 위한 아카 퍼시스턴스 구성
재고 관리 모듈 리팩토링
-PersistentEntity 추상 클래스
-Aggregate 추상 클래스
-JsonSerializer 클래스
-Book 엔티티 이벤트 소싱
-InventoryClerk 액터 리팩토링
-새로운 Book 엔티티 시도
-도서 스냅샷 추가
-진화하는 스키마 처리
리팩토링된 판매 주문 처리 모듈
리팩토링 과제
요약

5장. CQRS를 통한 관심사 분리

CQRS의 역사
이벤트 소싱 관점에서의 CQRS
읽기 모델 구현을 위한 설계
-읽기 모델을 위한 데이터 저장소 선택
-읽기 모델에 대한 이벤트 적용
-퍼시스턴스 쿼리를 이용한 뷰 작성
Book 읽기 모델 구축
-ProtobufDatamodelAdapter 태그 지원
-일래스틱서치 지원 trait
-뷰 빌더 trait
-Book 뷰 빌더 구현
-Book 뷰 구현
-재시작 가능한 프로젝션 구현
판매 주문 처리 리팩토링
-SalesOrder 읽기 모델 비정규화
-재고 할당을 위한 퍼시스턴스 쿼리 사용
새로운 애플리케이션 실행
리팩토링 과제
마무리 의견
요약

6장. 아카 스트림을 통한 흐름
리액티브 스트림 API 이해
-백 프레셔 동작
아카 스트림 API
-아카 스트림의 빌딩 블록
-스트림 구축의 기본 학습
-스트림 실체화 이해
-스트림 내의 연산자 결합
-버퍼를 이용한 속도 제어
-흐름 내의 변경 속도
-그래프 빌더 DSL을 이용한 처리 그래프 구축
-스트리밍 I/O 처리
뷰 빌더 코드 리팩토링
리팩토링 과제
요약

7장. 아카 HTTP를 이용한 REST 구축
RESTful HTTP 인터페이스 생성
아카 HTTP와 스프레이 비교
-아카 스트림과 백 프레셔
-그 외의 차이점
아카 HTTP를 이용한 RESTful 인터페이스 생성
-저수준 서버 API 사용
-고수준 서버 API 사용
아카 HTTP를 이용한 RESTful API 호출
-클라이언트 측 아카 HTTP 및 스트림
-아웃바운드 연결 모델 이해
리팩토링 과제
-인바운드 HTTP 변경
-아웃바운드 HTTP 변경
요약

8장. 아카 리모팅/클러스터를 이용한 스케일 아웃
아카 리모팅 사용
-아카 리모팅 활성화
-원격 액터와 상호작용
-아카 리모팅 및 직렬화
아카 클러스터링 사용
-클러스터링의 핵심 아키텍처 원칙
-클러스터링 활성화
-클러스터링을 위한 원격 워커 예제 리팩토링
서점 애플리케이션에 클러스터링 적용
-서점 애플리케이션에 클러스터 샤딩 적용
-서점 애플리케이션에 클러스터 싱글톤 적용
-클러스터 서점 애플리케이션 실행
요약

9장. ConductR을 이용한 배포 관리
ConductR 개요
ConductR 로컬 설치와 설정
-ConductR CLI 샌드 박스 설치
-ConductR 샌드 박스 설정
-sbt-conductr 플러그인 설정
-샌드 박스 내의 도커 사용 안내
ConductR CLI 사용
-ConductR 버전 정보 확인
-배포된 번들 정보 확인
-번들 서비스 정보 확인
-번들 서비스 접근 제어 목록 확인
-ConductR로 번들 로드
-ConductR 내에 번들 시작
-ConductR 내의 번들 종료
-ConductR에서 번들 제거
-ConductR 내에서 번들 관련 이벤트 확인
-번들 로그 확인
ConductR을 통한 서비스 준비
-배포를 위한 번들 생성
-ConductR로 배포를 위한 코드 요구 사항
-ConductR을 이용한 서점 애플리케이션 리팩토링
-서점 애플리케이션 분리
-ConductR 지원을 위한 일반적인 수정
-서비스 모듈의 ConductR 번들 전환
-판매 주문 처리 리팩토링
-재고 관리 모듈 리팩토링
서점 번들 빌드 및 배포
ConductR 내의 서점 애플리케이션 모듈 테스트
요약

10장. 문제 해결 및 모범 사례
리팩토링 회고
-더 나은 액터 구현
-도메인 주도 설계 사용
-아카 퍼시스턴스 및 이벤트 소싱
-아카 퍼시스턴스 쿼리 및 CQRS
-아카 스트림
-아카 HTTP
-아카 리모팅 및 아카 클러스터링
-ConductR을 통한 모듈 분리
액터 문제 해결 및 모범 사례
-퓨처 사용 시 가변 상태 피하기
-ActorSelection 사용 최소화
-ask 대신 tell 사용하기
-많은 최상위 액터 생성 피하기
아카 HTTP모범 사례 및 문제 해결
-~ 연산자 관련 문제
-인바운드 HTTP 요청 로그 구축
-아웃바운드 HTTP 요청 로그 구축
아카 클러스터링 및 아카 리모팅 문제 해결 및 모범 사례
-구성 요소 설정 시, 호스트 이름 대신 IP 주소 사용 선호하기
-2개 이상의 시드 노드 구성
-로그의 Disassociated 예외는 정상일 수 있음
추가 자료
-Lagom
-아카 스트림 쿡북
-일반적인 패턴
-아카 퍼시스턴스 스키마 변경
-아카 관련 권장 도서
-에릭 에반스의 도메인 주도 설계
-마틴 파울러의 이벤트 소싱
요약

본문중에서

아카 라이브러리는 스칼라 세계에서는 반응형 애플리케이션 구축을 위해 잘 알려진 도구다. 아카의 핵심 빌딩 블록은 비동기, 이벤트 기반, 장애 허용, 분산 시스템을 가능하도록 동시성을 지원하는 액터다. 반응형 애플리케이션 구축하는 데 있어 액터는 좋은 시작이지만, 아카 플랫폼 내에는 고려해야 할 요소가 더 많이 있다.
이 책은 아카 플랫폼 내에 몇 가지 모듈을 추가해 애플리케이션을 구축한다. 초기 모놀리식 아카 애플리케이션을 리팩토링해 나가면서 느슨하게 결합된 마이크로서비스로 개선해 나간다. 아카 퍼시스턴스(Akka Persistence)를 통한 이벤트 소싱(Event Sourcing) 같은 새로운 기능을 배우게 될 것이다. 이 책을 다 읽으면 아카 플랫폼을 깊이 이해하게 돼 애플리케이션 구축에 도움을 얻을 수 있을 것이다.
각 챕터별 리팩토링을 통해 아카 내의 새로운 개념 및 라이브러리를 접할 수 있다. 새로운 기능들의 개념과 서비스를 느슨하게 결합시키는 방법을 자세히 설명한다. 뿐만 아니라, 각 장마다 독자가 수행해야 하는 과제가 있다. 직접 과제를 수행함으로써 아카의 기능과 새로운 개념을 실제 환경에 적용할 수 있을 만큼 더 깊이 이해할 수 있다.
('지은이의 말' 중에서)

스칼라와 아카를 위한 개념서는 더러 존재하지만, 실무에 적용하기 위한 가이드 역할을 해주는 책은 거의 없다. 이 책을 통해 장이 진행됨에 따라 하나의 애플리케이션을 직접 개선해 나가며 최종적으로 분산 시스템을 구축하는 즐거운 경험을 함께하기를 바란다. 각 장별 과제도 직접 수행하고, 저자의 코드와 비교하다 보면 장에서 이야기하고자 하는 개념을 더 깊이 이해할 수 있을 것이다.
많은 개발자가 스칼라와 아카 각각의 개념은 자주 접했을 수 있지만, 이 책은 스칼라 및 아카와 함께 동시성 프로그래밍, 도메인 주도 설계, 이벤트 소싱, CQRS 등 분산 시스템 구축을 위해 고려할 수 있는 다양한 개념들을 함께 이해할 수 있다. 단순히 개념을 이해하는 수준이 아니라, 개념을 녹여낸 실제 애플리케이션을 구축해나가는 과정을 실습하다 보면 실무에 적용하기 위한 방향성에 대해 인사이트를 얻을 수 있을 것이다. 이 책에서 제안하는 다양한 라이브러리를 활용해 분산 시스템을 위한 당신의 여정이 성공하기를 바란다.
('옮긴이의 말' 중에서)

저자소개

크리스티앙 백스터 [저] 신작알림 SMS신청 작가DB보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

컴퓨터 프로그래밍 세계에 발을 들인 것은 어려서부터 사물이 동작하는 방법에 관심이 많았고, 도전과 문제 해결을 좋아하는 성격 때문이기도 했다. 대학에서 생명 과학을 전공하면서도 틈틈이 컴퓨터 프로그래밍을 공부했다. 대학을 졸업한 후에는 프로그래머로 일하기 위해 필요한 기술을 스스로 익혔다. 보험, 여행, 광고, 채용 등 다양한 분야에서 프로그래머로 일했다. 아카 플랫폼 기반에서 스칼라로 고성능의 분산 시스템을 구축하는 일을 사랑한다. 2010년에 스칼라 개발자로 전향하기 전까지, 오랫동안 자바 개발자로 일했다. 높은 성능과 비동기화를 해결하기

펼쳐보기
생년월일 -
출생지 -
출간도서 0종
판매수 0권

컴퓨터공학을 전공하고 소프트웨어의 보안 약점 도출에 대한 석사과정을 마쳤다. LG CNS에서 개발자로 공공시스템 프로젝트에 참여하며 회사생활을 시작하였고, 그 후 한국비트코인거래소(Korbit)에서 서버 개발자로 근무하였다. 현재는 엔지니어로서의 미래를 고민하고 설계하는 일에 관심이 많다.

이 상품의 시리즈

프로그래밍 언어 시리즈(총 18권 / 현재구매 가능도서 18권)

펼쳐보기

이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

    리뷰

    0.0 (총 0건)

    기대평

    작성시 유의사항

    평점
    0/200자
    등록하기

    기대평

    0.0

    교환/환불

    교환/환불 방법

    ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

    교환/환불 가능 기간

    고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

    교환/환불 비용

    고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

    교환/환불 불가사유

    반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
    배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

    소비자 피해보상

    소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
    교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

    기타

    도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

    배송안내

    • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

    • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

    • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

    • 배송비

    도서(중고도서 포함) 구매

    2,000원 (1만원이상 구매 시 무료배송)

    음반/DVD/잡지/만화 구매

    2,000원 (2만원이상 구매 시 무료배송)

    도서와 음반/DVD/잡지/만화/
    중고직배송상품을 함께 구매

    2,000원 (1만원이상 구매 시 무료배송)

    업체직접배송상품 구매

    업체별 상이한 배송비 적용