로그인회원가입장바구니고객센터마이페이지회사소개
kangcom
전체
Home >   >   > 

『Akka 쿡북: 다양한 레시피로 아카를 쉽게 배워보기』

   
지은이 헥터 베이가 오르티즈, 피유시 미시라   |   출판사 에이콘  |   발행일 2018년 05월 31일
 
클릭하시면 큰 도서이미지를 보실 수 있습니다.
판매가 33,000원29,700원 10%
마일리지 5% 1,650원
발행일 2018-05-31
ISBN 116175170X | 9791161751702
기타정보 번역서 | 468쪽
예상출고일 금일 가능 (근무일기준)
배송비 무료배송
   
일반
   
 

★ 요약 ★



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





★ 이 책에서 다루는 내용 ★



█ 통제 인식 메일박스를 사용한 액터 통제

█ 아카 테스트킷으로 장애허용 애플리케이션 테스트

█ 퓨처와 에이전트로 병렬 애플리케이션 제작

█ 도커에 아카 애플리케이션을 패키징 및 배포

█ 다른 노드에 프로그래밍 방식으로 원격 액터 배포

█ 아카 액터에 스트림 포함시키기

█ 라곰 설치 및 라곰 프로젝트 제작





★ 이 책의 대상 독자 ★



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





★ 이 책의 구성 ★



1장, ‘아카로 뛰어들기’에서는 아카 액터(actor), 액터시스템, 메일박스, 액터 행위 바꾸기의 기본 개념을 다룬다.

2장, ‘감시와 모니터링’에서는 액터 라이프사이클, 액터 계층, 감독, 모니터링을 다룬다.

3장, ‘메시지 라우팅’에서는 서로 다른 형태의 그룹과 풀 라우터, 그리고 아카 디스패처의 동작 방식을 다룬다.

4장, ‘퓨처와 에이전트’에서는 퓨처가 동작하는 방식과 이들을 아카 툴킷과 잘 통합시키는 방법을 다룬다. 또한 아카 에이전트도 다룬다.

5장, ‘액터 스케줄링 및 다른 유틸리티’에서는 아카 스케줄러의 동작 방법을 설명한다. 그리고 아카 애플리케이션을 패키징, 설정, 실행하는 여러 가지 유용한 방법을 다룬다.

6장, ‘아카 지속성’에서는 상태를 가지는 액터의 상태를 아파치 카산드라나 레디스 같은 다양한 기술로 유지하는지 방법을 설명한다. 다양한 복구 전략을 다룬다.

7장, ‘원격화 및 아카 클러스터링’에서는 잘 알려진 원격 주소를 사용하거나 분산화된 피어투피어(peer-to-peer) 기반 클러스터 멤버십 서비스를 연결해 단일의 JVM을 벗어나 아카를 사용하는 방법을 다룬다.

8장, ‘아카 스트림’에서는 아카 스트림 프레임워크를 살펴보고, 이를 아카 및 서드파티 기술과 통합시키는 방법을 다룬다.

9장, ‘아카 HTTP’에서는 아카 HTTP를 클라이이언트와 서버 사이드 모두에서 사용하는 방법을 설명한다. 또한, 사용자 사례에 따른 API 수준 설정 방법을 보여준다.

10장, ‘다양한 아카 패턴 이해’에서는 아카를 사용해 서로 다른 일반적인 프로그래밍 패턴을 사용하는 방법을 다룬다.

11장, ‘라곰으로 마이크로서비스하기’에서는 라이트밴드의 마이크로서비스 프레임워크인 라곰을 소개한다. 라곰의 관례 및 라곰으로 마이크로서비스를 생성, 설정, 연결, 실행하는 데 필요한 정보를 살펴본다.





★ 지은이의 말 ★



아카(Akka)는 액터 모델 덕분에 JVM에서 동시성, 확장 가능성, 회복력이 있는 반응형 애플리케이션을 개발할 때 많이 사용되는 툴킷이다. 아카 툴킷은 수년 전부터 사용돼 온 성숙한 기술이다. 시스코, 아마존, 그루폰 같은 많은 기업에서 성공적으로 도입했다.

이 책에서는 아카뿐 아니라 관련 모듈의 동작 방식까지 모두 살펴보고, 가장 일반적인 작업을 쉽게 처리하는 유용한 예제를 제공한다. 또한 아카의 개발을 지원하는 라이트밴드(Lightbend) 사의 최신 마이크로서비스 프레임워크 라곰(Lagom)도 소개한다.
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장. 라곰으로 마이크로서비스하기

__소개

__라곰 설치 및 프로젝트 만들기

__서비스 로케이터 이해하기

__서비스 디스크립터 이해하기

__라곰 서비스 구현하기

__지속성있고 클러스터링된 서비스 작성하기

__운영 환경에서 라곰 실행하기

__아카와 통합하기



헥터 베이가 오르티즈(Héctor Veiga Ortiz)

실시간 데이터 통합 전문 소프트웨어 엔지니어다. 최근에는 주로 AWS 같은 다양한 클라우드 기술을 기반으로, 다양한 프로토콜과 형식에서 고용량 실시간 데이터를 다룰 수 있는 확장성, 복원력이 뛰어난 고성능 애플리케이션을 개발하는 데 주력해왔다. 이런 작업은 아카와 같은 메시징 시스템에 초점을 맞춰 해냈다. 또한 라이트밴드의 라곰 같은 프레임워크에서 마이크로서비스 아키텍처를 작업했다. 뿐만 아니라, 래빗MQRabbitMQ나 AMQP와 같은 메시지 브로커에 탄탄한 기초 지식을 갖추고 있다. 마드리드공과대학교에서 통신공학 석사를, 일리노이공과대학교에서 정보기술관리 석사 학위를 취득했다.

현재 히어 테크놀로지스(HERE Technologies)의 글로벌 트래픽 데이터 통합 팀에서 일하며, 각각의 서로 다른 출처로부터 데이터를 소비하는 확장 가능한 애플리케이션을 적극적으로 개발하고 있다. 아카를 활용한 확장성 및 처리 요구 사항을 다룬다. M2M 기술에 특화된 회사 젭톰 테크놀로지스(Xaptum Technologies)에서도 근무했다. 또한, 아카 프로젝트에 수차례 기여했으며, 스택오버플로우의 아카 태그에서 활발하게 활동 중이다. 팩트출판사에서 펴낸 『RabbitMQ Cookbook』(2013)과, 『RabbitMQ Essentials』(2014)의 기술 감수자다.





피유시 미시라(Piyush Mishra)

스칼라, 아카, 스파크를 사용해 장애 허용적이며(fault-tolerant) 확장 가능한 고성능 시스템을 개발하고 디자인하며 복수의 서버에서 이를 유지하는 데 4년 이상의 경력을 가진 전문가다.

블로그 (https://piyushmishra889.wordpress.com)에 스칼라에 관한 글을 쓴다. https://in.linkedin.com/in/piyush1989에서 링크드인을 찾을 수 있다. 또한 슬라이드셰어(Slideshare)의 http://www.slideshare.net/knoldus/reactive-programming-with-scala-and-akka에 반응형 프로그래밍 및 애플리케이션과 이것의 필요성을 다룬 내용이 있다. 스칼라, 아카, 반응형 애플리케이션, 그리고 이에 대한 네 가지 원칙도 이야기한다.





★ 옮긴이의 말 ★



스칼라 기반의 웹 애플리케이션을 개발하면서 핵심 로직을 동시적으로 병렬화해야 했다. 프로그램 구조가 더 이상 복잡해지지 않게 제한하면서 코드를 직관적으로 구현할 수 있는 도구가 필요했다. 스칼라와 아카의 조합은 이에 부합하는 환상적인 개발 환경이다. 아카의 성능을 긍정적으로 평가하는 많은 의견을 많이 접한 터라 망설임 없이 선택했다.

하지만 스칼라도 익숙하지 않았기 때문에 아카에 입문하기 적당한 책을 찾고 있었다. 아카를 다루는 한글 서적은 거의 없었는데, 사실 지금도 그렇다. 마침 에이콘출판사에서 『Akka Cookbook』의 번역을 제안한 덕분에, 아카에 더 쉽게 입문하는 데 도움이 되는 책이 나올 수 있었다.

아카를 활용하면 액터 모델을 기반으로 하는 동시적이고 확장 가능한 반응형 애플리케이션을 개발할 수 있다. 액터 모델은 메시지 기반으로, 부모 액터가 자식 액터에게 작업을 분산시키고, 결과를 동시적으로 받아 클라이언트에게 넘겨주는 일련의 체계로 간단히 설명할 수 있다. 이런 용어들은 구체적으로 무엇을 뜻할까? 또한 아카는 어떻게 액터 모델을 구현할까? 여러분은 이 책을 읽고 아카를 쉽게 학습할 수 있을 것이다.

이 책은 아카를 처음 접하는 사람들을 위해 SBT 설치부터 가급적 쉽게 동시적 프로그래밍 모델을 접할 수 있게 풀어낸다. 가벼운 마음으로 따라 하며 아카에 익숙해지기를 추천한다. 자바에서 아카를 사용한다면 예제에서 배운 내용을 바탕으로 도입 과정을 더 매끄럽게 진행할 수 있을 것이다. 또한 아카 지속성, 스트림, 클러스터링, HTTP 등 아카의 고급 기능을 활용할 때도 이 책의 도움을 받을 수 있다.





★ 옮긴이 소개 ★



이판호

대학에서 통계학을 전공한 후 금융 관련 일을 하다가 뒤늦게 프로그래밍 세계에 입문했다. 데이터 분석을 기반으로 하는 금융 투자와 프로그램 개발에 관심이 많다. 현재는 ETF 포트폴리오 분석을 위한 웹 서비스를 개발하며 기술 서적을 번역하고 있다. 에이콘출판사에서 펴낸 『R 병렬 프로그래밍』(2017), 『파이썬으로 배우는 데이터 과학 2/e』(2017) 등을 번역했다.

등록된 서평이 없습니다.
UI/UX 디자인 이론과 실습...
이영주
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
pfSense 마스터...
데이빗 지엔타라
선택된 상품을 찜하실 수 있습니다. 선택된 상품을 바로구매 하실 수 있습니다.
 
전체평균(0)
회원평점   회원서평수 0
에이콘 출판사의 신간
『GitHub를 활용한 다양한 도구 개발: 개발 워크플로우 최적화』
크리스 도슨, 벤 스트라우브 저
27,000원
(10%↓+5%)
 
『이득우의 언리얼 C++ 게임 개발의 정석』
이득우 저
45,000원
(10%↓+5%)
 
『유니티 게임 오디오 개발: 게임 오디오의 기본 개념부터 오디오 및 이펙트 개발까지』
마이클 랜햄 저
27,000원
(10%↓+5%)
 
『예제로 배우는 언리얼 엔진 4 게임 개발: C++와 블루프린트로 머티리얼 제작부터 네트워킹까지』
벤자민 카날 저
0원
(0%↓+1%)
 
『예제로 배우는 언리얼 엔진 4 게임 개발: C++와 블루프린트로 머티리얼 제작부터 네트워킹까지』
벤자민 카날 저
40,500원
(10%↓+5%)
 
이메일주소수집거부