Akka 쿡북 (다양한 레시피로 아카를 쉽게 배워보기)

Akka 쿡북 (다양한 레시피로 아카를 쉽게 배워보기)

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

헥터베이가오르티즈

저자헥터베이가오르티즈는실시간데이터통합전문소프트웨어엔지니어다.최근에는주로AWS같은다양한클라우드기술을기반으로,다양한프로토콜과형식에서고용량실시간데이터를다룰수있는확장성,복원력이뛰어난고성능애플리케이션을개발하는데주력해왔다.이런작업은아카와같은메시징시스템에초점을맞춰해냈다.또한라이트밴드의라곰같은프레임워크에서마이크로서비스아키텍처를작업했다.뿐만아니라,래빗MQRabbitMQ나AMQP와같은메시지브로커에탄탄한기초지식을갖추고있다.마드리드공과대학교에서통신공학석사를,일리노이공과대학교에서정보기술관리석사학위를취득했다.
현재히어테크놀로지스(HERETechnologies)의글로벌트래픽데이터통합팀에서일하며,각각의서로다른출처로부터데이터를소비하는확장가능한애플리케이션을적극적으로개발하고있다.아카를활용한확장성및처리요구사항을다룬다.M2M기술에특화된회사젭톰테크놀로지스(XaptumTechnologies)에서도근무했다.또한,아카프로젝트에수차례기여했으며,스택오버플로우의아카태그에서활발하게활동중이다.팩트출판사에서펴낸『RabbitMQCookbook』(2013)과,『RabbitMQEssentials』(2014)의기술감수자다.

목차

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

출판사 서평

★요약★

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

★이책에서다루는내용★

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

★이책의대상독자★

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

★이책의구성★

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

★옮긴이의말★

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