장바구니 담기 close

장바구니에 상품을 담았습니다.

Akka 쿡북

Akka 쿡북

  • 헥터베이가오르티즈
  • |
  • 에이콘출판
  • |
  • 2018-05-31 출간
  • |
  • 468페이지
  • |
  • 188 X 235 X 22 mm
  • |
  • ISBN 9791161751702
판매가

33,000원

즉시할인가

29,700

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
29,700

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평




★ 요약 ★

아카(Akka)를 처음 접하는 사람들을 위한 입문서다. JVM 환경에서 아카 기반으로 동시적이고 분산된, 그리고 확장적이며 반응적인 애플리케이션을 개발하는 방법을 기초부터 차근차근 배울 수 있다. 또한 아카 지속성, 클러스터링, 스트림, HTTP 등 고급 기능에 대한 레시피로 기술적인 목표 달성에 이 책을 활용할 수 있다.

★ 이 책에서 다루는 내용 ★

■ 통제 인식 메일박스를 사용한 액터 통제
■ 아카 테스트킷으로 장애허용 애플리케이션 테스트
■ 퓨처와 에이전트로 병렬 애플리케이션 제작
■ 도커에 아카 애플리케이션을 패키징 및 배포
■ 다른 노드에 프로그래밍 방식으로 원격 액터 배포
■ 아카 액터에 스트림 포함시키기
■ 라곰 설치 및 라곰 프로젝트 제작

★ 이 책의 대상 독자 ★

이 책에서는 다양한 방법으로 아카 툴킷을 살펴본다. 액터에 메시지를 보내는 쉬운 내용부터 마스터 슬레이브 작업 풀링 패턴 같은 고급 주제를 아우르는 유용한 예제를 통해 아카를 이용해 각 패턴을 완성해 나가는 방법을 설명한다. 아카 입문자뿐 아니라 아카에 익숙한 독자도 아카를 좀 더 깊이 이해하게 될 것이다.

★ 이 책의 구성 ★

1장, ‘아카로 뛰어들기’에서는 아카 액터(actor), 액터시스템, 메일박스, 액터 행위 바꾸기의 기본 개념을 다룬다.
2장, ‘감시와 모니터링’에서는 액터 라이프사이클, 액터 계층, 감독, 모니터링을 다룬다.
3장, ‘메시지 라우팅’에서는 서로 다른 형태의 그룹과 풀 라우터, 그리고 아카 디스패처의 동작 방식을 다룬다.
4장, ‘퓨처와 에이전트’에서는 퓨처가 동작하는 방식과 이들을 아카 툴킷과 잘 통합시키는 방법을 다룬다. 또한 아카 에이전트도 다룬다.
5장, ‘액터 스케줄링 및 다른 유틸리티’에서는 아카 스케줄러의 동작 방법을 설명한다. 그리고 아카 애플리케이션을 패키징, 설정, 실행하는 여러 가지 유용한 방법을 다룬다.
6장, ‘아카 지속성’에서는 상태를 가지는 액터의 상태를 아파치 카산드라나 레디스 같은 다양한 기술로 유지하는지 방법을 설명한다. 다양한 복구 전략을 다룬다.
7장, ‘원격화 및 아카 클러스터링’에서는 잘 알려진 원격 주소를 사용하거나 분산화된 피어투피어(peer-to-peer) 기반 클러스터 멤버십 서비스를 연결해 단일의 JVM을 벗어나 아카를 사용하는 방법을 다룬다.
8장, ‘아카 스트림’에서는 아카 스트림 프레임워크를 살펴보고, 이를 아카 및 서드파티 기술과 통합시키는 방법을 다룬다.
9장, ‘아카 HTTP’에서는 아카 HTTP를 클라이이언트와 서버 사이드 모두에서 사용하는 방법을 설명한다. 또한, 사용자 사례에 따른 API 수준 설정 방법을 보여준다.
10장, ‘다양한 아카 패턴 이해’에서는 아카를 사용해 서로 다른 일반적인 프로그래밍 패턴을 사용하는 방법을 다룬다.
11장, ‘라곰으로 마이크로서비스하기’에서는 라이트밴드의 마이크로서비스 프레임워크인 라곰을 소개한다. 라곰의 관례 및 라곰으로 마이크로서비스를 생성, 설정, 연결, 실행하는 데 필요한 정보를 살펴본다.

★ 옮긴이의 말 ★

스칼라 기반의 웹 애플리케이션을 개발하면서 핵심 로직을 동시적으로 병렬화해야 했다. 프로그램 구조가 더 이상 복잡해지지 않게 제한하면서 코드를 직관적으로 구현할 수 있는 도구가 필요했다. 스칼라와 아카의 조합은 이에 부합하는 환상적인 개발 환경이다. 아카의 성능을 긍정적으로 평가하는 많은 의견을 많이 접한 터라 망설임 없이 선택했다.
하지만 스칼라도 익숙하지 않았기 때문에 아카에 입문하기 적당한 책을 찾고 있었다. 아카를 다루는 한글 서적은 거의 없었는데, 사실 지금도 그렇다. 마침 에이콘출판사에서 『Akka Cookbook』의 번역을 제안한 덕분에, 아카에 더 쉽게 입문하는 데 도움이 되는 책이 나올 수 있었다.
아카를 활용하면 액터 모델을 기반으로 하는 동시적이고 확장 가능한 반응형 애플리케이션을 개발할 수 있다. 액터 모델은 메시지 기반으로, 부모 액터가 자식 액터에게 작업을 분산시키고, 결과를 동시적으로 받아 클라이언트에게 넘겨주는 일련의 체계로 간단히 설명할 수 있다. 이런 용어들은 구체적으로 무엇을 뜻할까? 또한 아카는 어떻게 액터 모델을 구현할까? 여러분은 이 책을 읽고 아카를 쉽게 학습할 수 있을 것이다.
이 책은 아카를 처음 접하는 사람들을 위해 SBT 설치부터 가급적 쉽게 동시적 프로그래밍 모델을 접할 수 있게 풀어낸다. 가벼운 마음으로 따라 하며 아카에 익숙해지기를 추천한다. 자바에서 아카를 사용한다면 예제에서 배운 내용을 바탕으로 도입 과정을 더 매끄럽게 진행할 수 있을 것이다. 또한 아카 지속성, 스트림, 클러스터링, HTTP 등 아카의 고급 기능을 활용할 때도 이 책의 도움을 받을 수 있다.


목차


1장. 아카로 뛰어들기
__소개
__아카 스칼라 SBT 프로젝트 만들기
__액터시스템 생성 및 이해
__액터의 행위와 상태 정의하기
__액터에 메시지 송신하기
__액터로부터 결과 요청하기
__액터 사이에서의 통신
__액터를 위한 사용자 정의 메일박스 만들기
__액터가 수신하는 메시지의 우선순위 정하기
__액터를 위한 제어인식 메일박스 만들기
__액터의 행위를 부여하기/제거하기
__액터 중단시키기

__2장. 감시와 모니터링
__소개
__부모 액터의 자식 액터 만들기
__액터의 라이프사이클 훅 오버라이드하기
__액터에게 메시지를 송신하고 응답을 모으기
__액터를 위한 OneForOneStrategy 이해하기
__액터를 위한 AllForOneStrategy 이해하기
__DeathWatch를 사용해 액터 라이프사이클 모니터링하기

__3장. 메시지 라우팅
__소개
__액터의 SmallestMailboxPool 만들기
__액터의 BalancingPool 만들기
__액터의 RoundRobinPool 만들기
__액터의 BroadcastPool 만들기
__액터의 ScatterGatherFirstCompletedPool 만들기
__액터의 TailChoppingPool 만들기
__액터의 ConsistentHashingPool 만들기
__액터의 RandomPool 만들기
__라우터에 특별하게 처리되는 메시지를 송신하기
__동적으로 크기가 재조정되는 액터의 풀 만들기

__4장. 퓨처와 에이전트 사용하기
__소개
__간단한 작업을 위해 퓨처를 직접 사용하기
__액터로 퓨처 사용하기
__액터 내에서 퓨처 사용하기
__퓨처에 for 내포 사용하기
__퓨처에서 콜백 다루기
__퓨처로 간단한 병렬 앱 만들기
__퓨처의 시퀀스 줄이기
__에이전트 읽고 업데이트하기
__에이전트를 모나드처럼 구성하기

__5장. 액터 스케줄링과 그 밖의 유틸리티
__소개
__특정 간격으로 작업 스케줄링하기
__특정 간격으로 액터의 작업 스케줄링하기
__액터에서 스케줄링된 작업 취소하기
__장애 확산을 막는 서킷 브레이커 만들기
__액터에 로깅 도입하기
__액터 유닛테스트 작성하기
__아카 독립 앱 패키징 및 배포
__도커 컨테이너 내 아카 앱 패키징 및 배포
__아카 앱 설정하기

__6장. 아카 지속성
__소개
__지속성을 위한 액터 준비
__액터의 상태 복구하기
__스냅샷을 사용한 복구시간 단축
__지속성 FSM 모델 만들기
__LevelDB로 상태 지속시키기
__카산드라로 상태 지속시키기
__레디스로 상태 지속시키기
__이벤트소싱 이해하기
__이벤트소싱에서 장애 다루기
__지속성 쿼리 사용하기
__LevelDB를 위한 지속성 쿼리

__7장. 원격화 및 아카 클러스터링
__소개
__아카 앱 원격화하기
__다른 머신에서 원격 액터 만들기
__서로 다른 머신에서 원격 액터 찾기
__원격 액터를 다른 노드에 프로그램적으로 배포하기
__원격 액터를 사용해 앱 확장하기
__원격화 액터를 사용해 채팅 기반 앱 만들기
__프로젝트에 아카 클러스터링 가능하게 하기
__클러스터에서 분산된 게시-구독 사용하기
__클러스터 샤딩
__아카 클러스터 내 노드 사이에서 데이터 공유하기
__클러스터에 걸쳐 싱글턴 액터 만들기

__8장. 아카 스트림
__소개
__간단한 아카 스트림 만들기
__스트림 변환 및 소비
__스트림 소스, 플로우, 싱크 만들기
__사용자 정의 스트림 처리
__아카 스트림에서의 오류 처리
__스트림 파이프라이닝 및 병렬화
__스트리밍 I/O로 작업하기
__아카 액터에 스트림 통합하기
__그래프로 작업하기
__아카 스트림으로 RabbitMQ 메시지 처리하기
__리액티브 카프카를 사용해 아카 스트림과 카프카 통합하기

__9장. 아카 HTTP
__소개
__아카 HTTP로 최소한의 HTTP 서버 만들기
__클라이언트 측 API로 아카 HTTP 서비스 소비하기
__HTTP 서버를 위한 라우팅 DSL 작성하기
__아카 HTTP 설정 이해
__데이터 마샬링, 언마샬링
__데이터 인코딩, 디코딩
__디렉티브 이해하기
__예외 처리
__아카 HTTP로 파일 업로드
__아카 HTTP로 JSON 지원 구축
__아카 HTTP로 XML 지원

__10장. 다양한 아카 패턴 이해
__소개
__순서 있는 액터 종료
__아카 셧다운 패턴
__액터에 주기적인 메시지 스케줄링하기
__액터에 메시지를 보내는 동안 쓰로틀링하기
__액터 사이의 작업 부하 균형 이루기
__집계자 패턴
__카운트다운랫치 패턴
__유한 상태 머신
__정지 가능한 액터 패턴
__봉투로 액터 감싸기

__11장. 라곰으로 마이크로서비스하기
__소개
__라곰 설치 및 프로젝트 만들기
__서비스 로케이터 이해하기
__서비스 디스크립터 이해하기
__라곰 서비스 구현하기
__지속성있고 클러스터링된 서비스 작성하기
__운영 환경에서 라곰 실행하기
__아카와 통합하기

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.