장바구니 담기 close

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

Akka 코딩 공작소

Akka 코딩 공작소

  • 레이먼드 뢰스텐버그
  • |
  • 길벗
  • |
  • 2017-07-28 출간
  • |
  • 552페이지
  • |
  • 183 X 235 X 22 mm
  • |
  • ISBN 9791160502305
판매가

38,000원

즉시할인가

34,200

배송비

무료배송

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

수량
+ -
총주문금액
34,200

이 상품은 품절된 상품입니다

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

출판사서평

비동기 처리는 아카에 맡기고
로직 구현에만 집중하자!

《Akka 코딩 공작소》는 최신 아카 버전인 2.5에서 동작을 확인했으며, 예제 코드는 스칼라로 작성되어 있다. 액터 모델 개념부터 액터 시스템 구축, 퓨처와 액터의 조합, 메시징 채널, 시스템 통합, 클러스터링 등 아카가 제공하는 기본 기능을 코드와 함께 살펴본다. 아카를 사용하면 삶이 얼마나 편해지는지 알게 될 것이다.

* 다루는 내용
● 메시지 중심 시스템을 만드는 방법
● 동시성 처리
● 테스트와 성능 튜닝
● 내고장성 시스템 배포
● 규모 확장
● 클러스터화한 애플리케이션과 클라우드 기반 애플리케이션
● 최신 아카 버전 2.5 적용

* 독자 대상
-. 아카로 애플리케이션을 만드는 방법을 배우고 싶은 모든 사람
-. 스칼라 기초 문법을 알고 있으며 JVM 및 자바에 관한 기초 지식이 있는 사람

* 예제 소스 다운로드
https://github.com/gilbutITbook/006877

목차

1장 아카 소개
1.1 아카란 무엇인가?
1.2 액터: 간략한 정리
1.3 확장성에 대한 두 가지 접근 방법: 예제 준비하기
1.4 전통적인 규모 확장
____1.4.1 전통적인 규모 확장과 내구성: 모든 것을 데이터베이스에 저장
____1.4.2 전통적인 규모 확장과 상호 작용: 폴링
____1.4.3 전통적인 규모 확장과 상호 작용: 웹 서비스
1.5 아카를 사용한 규모 확장
____1.5.1 아카를 사용한 규모 확장과 내구성: 메시지 송수신
____1.5.2 아카를 사용한 규모 확장과 상호 작용: 푸시 메시지
____1.5.3 아카를 사용한 규모 확장과 실패: 비동기 디커플링
____1.5.4 아카의 접근 방법: 메시지 송신과 수신
1.6 액터: 한 가지 프로그래밍 모델로 수직/수평 확장을 동시에 할 수 있음
____1.6.1 비동기 모델
____1.6.2 액터 연산
1.7 아카 액터
____1.7.1 액터 시스템
____1.7.2 ActorRef, 우편함, 액터
____1.7.3 디스패처
____1.7.4 액터와 네트워크
1.8 요약

2장 일어나 달려보자
2.1 복제, 빌드, 인터페이스 테스트
____2.1.1 sbt로 빌드하기
____2.1.2 GoTicks.com REST 서버 빨리 돌려보기
2.2 앱에 있는 액터 살펴보기
____2.2.1 앱의 구조
____2.2.2 구매를 처리하는 액터: TicketSeller
____2.2.3 BoxOffice 액터
____2.2.4 RestApi
2.3 클라우드 속으로
____2.3.1 헤로쿠에 앱 만들기
____2.3.2 헤로쿠에 배포 및 실행하기
2.4 요약

3장 액터를 사용한 테스트 주도 개발
3.1 액터 테스트하기
3.2 단방향 메시지
____3.2.1 SilentActor 예제
____3.2.2 SendingActor 예제
____3.2.3 SideEffectingActor 예제
3.3 양방향 메시지
3.4 요약

4장 내고장성
4.1 내고장성이란(그리고 내고장성이 아닌 것은)?
____4.1.1 일반 객체와 예외
____4.1.2 중단되게 내버려 두기
4.2 액터 생명주기
____4.2.1 시작 이벤트
____4.2.2 종료 이벤트
____4.2.3 재시작 이벤트
____4.2.4 생명주기 처리를 한데 모으기
____4.2.5 생명주기 감시하기
4.3 감독
____4.3.1 슈퍼바이저 계층
____4.3.2 미리 정의된 전략
____4.3.3 사용자 정의 전략
4.4 요약

5장 퓨처
5.1 퓨처의 용례
5.2 미래에는 블로킹이 없다
____5.2.1 미래를 위한 약속 Promise
5.3 미래적인 오류
5.4 퓨처 조합하기
5.5 퓨처와 액터 조합하기
5.6 요약

6장 첫 번째 분산 아카 애플리케이션
6.1 수평 규모 확장하기
____6.1.1 일반적인 네트워크 용어
____6.1.2 분산 프로그래밍 모델을 사용하는 이유
6.2 원격 액터를 사용해 수평 규모 확장하기____6.2.1 GoTicks.com 앱을 분산 앱으로 만들기
____6.2.2 원격 REPL 동작
____6.2.3 원격 검색
____6.2.4 원격 배포
____6.2.5 다중 JVM 테스트
6.3 요약

7장 설정, 로깅, 배포
7.1 설정
____7.1.1 아카 설정 사용하기
____7.1.2 기본 값 사용하기
____7.1.3 아카 설정
____7.1.4 다중 시스템
7.2 로깅
____7.2.1 아카 애플리케이션에서 로깅하기
____7.2.2 로깅 사용하기
____7.2.3 아카의 로깅 제어하기
7.3 액터 기반 애플리케이션 배포하기
7.4 요약

8장 액터를 사용한 구조적 패턴
8.1 파이프와 필터
____8.1.1 엔터프라이즈 통합 패턴: 파이프와 필터
____8.1.2 아카에서의 파이프와 필터
8.2 엔터프라이즈 통합 패턴: 분배-취합 ____8.2.1 적용
____8.2.2 아카를 사용한 병렬 작업
____8.2.3 수신자 목록 패턴을 사용해 분배 컴포넌트 구현하기
____8.2.4 병합기 패턴을 사용해 취합 컴포넌트 구현하기
____8.2.5 분배-취합 패턴으로 컴포넌트를 한데 모으기
8.3 엔터프라이즈 통합 패턴: 라우팅 슬립
8.4 요약

9장 메시지 라우팅하기
9.1 엔터프라이즈 통합 라우터 패턴
9.2 아카 라우터를 사용해 부하 균등화하기
____9.2.1 아카 풀 라우터
____9.2.2 아카 그룹 라우터
____9.2.3 ConsistentHashing 라우터
9.3 액터를 사용해 라우터 패턴 구현하기
____9.3.1 내용 기반 라우팅
____9.3.2 상태 기반 라우팅
____9.3.3 라우터 구현
9.4 요약

10장 메시지 채널
10.1 여러 가지 채널 유형
____10.1.1 점대점 채널
____10.1.2 발행-구독 채널
10.2 특수 채널
____10.2.1 데드레터 채널
____10.2.2 배달 보장 채널
10.3 요약

11장 유한 상태 기계와 에이전트
11.1 유한 상태 기계 사용하기
____11.1.1 유한 상태 기계 소개
____11.1.2 FSM 모델 만들기
11.2 FSM 모델 구현하기
____11.2.1 천이 구현하기
____11.2.2 진입 동작 구현하기
____11.2.3 FSM의 타이머
____11.2.4 FSM 종료하기
11.3 에이전트를 활용해 공유 상태 구현하기
____11.3.1 에이전트를 통해 공유되는 간단한 상태
____11.3.2 상태 갱신 기다리기
11.4 요약

12장 시스템 통합
12.1 메시지 종말점
____12.1.1 정규화기
____12.1.2 공통 데이터 모델
12.2 아파치 카멜을 사용해 종말점 구현하기
____12.2.1 외부 시스템에서 메시지를 받는 소비자 종말점 구현하기
____12.2.2 외부 시스템에 메시지를 보내는 생산자 종말점 구현하기
12.3 HTTP 인터페이스 구현하기
____12.3.1 HTTP 예제
____12.3.2 akka-http로 REST 종말점 구현하기
12.4 요약

13장 스트리밍
13.1 기본 스트림 처리
____13.1.1 소스와 싱크를 사용해 파일 복사하기
____13.1.2 실행 가능한 그래프를 실체화하기
____13.1.3 흐름으로 이벤트 처리하기
____13.1.4 스트림 내 오류 처리하기
____13.1.5 BidiFlow로 프로토콜 만들기
13.2 HTTP 스트리밍하기
____13.2.1 HTTP를 통한 스트림 받기
____13.2.2 HTTP를 통한 스트림으로 응답하기
____13.2.3 콘텐트 타입과 협상을 위한 전용 마샬러와 역마샬러
13.3 그래프 DSL에서 팬 인/팬 아웃하기
____13.3.1 흐름에 브로드캐스팅하기
____13.3.2 흐름 병합하기
13.4 생산자와 소비자 사이 중재하기
____13.4.1 버퍼 사용하기
13.5 흐르는 속도-그래프의 일부분 분리하기
____13.5.1 느린 소비자를 위해 이벤트 모아서 처리하기
____13.5.2 빠른 소비자 기능을 확장하기
13.6 요약

14장 클러스터링
14.1 클러스터링을 사용하는 이유
14.2 클러스터 멤버십
____14.2.1 클러스터에 합류하기
____14.2.2 클러스터에서 이탈하기
14.3 클러스터를 사용한 작업 처리
____14.3.1 클러스터 시작하기
____14.3.2 라우터를 사용해 작업 배분하기
____14.3.3 회복성 있는 작업
____14.3.4 클러스터 테스트하기
14.4 요약

15장 액터 영속성
15.1 이벤트 소싱으로 상태 복구하기
____15.1.1 레코드 자체를 갱신하기
____15.1.2 갱신 없이 상태 영속화하기
____15.1.3 액터를 위한 이벤트 소싱
15.2 영속적인 액터
____15.2.1 영속적인 액터
____15.2.2 테스트
____15.2.3 스냅샷
____15.2.4 영속성 질의
____15.2.5 직렬화
15.3 클러스터화한 영속성
____15.3.1 클러스터 싱글톤
____15.3.2 클러스터 샤딩
15.4 배달 보장 : AtLeastOnceDelivery
15.5 요약

16장 성능 향상 팁
16.1 성능 분석
____16.1.1 시스템 성능
____16.1.2 성능 매개변수
16.2 액터의 성능 측정
____16.2.1 우편함 데이터 수집하기
____16.2.2 처리 데이터 수집하기
16.3 병목 지점 해결로 성능 높이기
16.4 디스패처 설정하기
____16.4.1 스레드 풀의 문제점 인지하기
____16.4.2 디스패처 인스턴스 여러 개 사용하기
____16.4.3 스레드 풀 크기를 정적으로 바꾸기
____16.4.4 스레드 풀 크기를 동적으로 바꾸기
16.5 스레드 해제 방식 변경하기
____16.5.1 스레드 해제 설정의 한계
16.6 요약

17장 미래를 미리 살펴보기
17.1 akka-typed 모듈
____17.1.1 아카 2.5.x의 akka-typed 모듈에 맞춘 변화
17.2 아카 분산 데이터
17.3 요약

저자소개

저자 레이먼드 뢰스텐버그(Raymond Roestenburg)는 노련한 소프트웨어 장인이며 폴리글랏 프로그래머이고 소프트웨어 아키텍트다. 스칼라 커뮤니티에 적극적으로 참여하고 있으며 아카 커미터(committer)이기도 하다. akka-camel 모듈에도 기여했다.

도서소개

액터 모델, 동시성 처리, 테스트와 성능 튜닝, 클러스터링, 스트리밍 애플리케이션 구축까지!

아카의 개념과 사용법을 코딩하며 배우는 [Akka 코딩 공작소]. 아카(Akka)는 액터 모델을 기반으로 분산 및 동시성 애플리케이션을 작성하는 데 필요한 여러 도구를 제공해주는 툴킷이자 런타임이다. 아카를 사용하면 반응형 프로그래밍을 구현하기 쉬울 뿐 아니라 비동기 처리에 드는 품을 줄일 수 있어 로직 구현에 더욱 집중할 수 있다.

이 책은 최신 아카 버전인 2.5에서 동작을 확인했으며, 예제 코드는 스칼라로 작성되어 있다. 액터 모델 개념부터 액터 시스템 구축, 퓨처와 액터의 조합, 메시징 채널, 시스템 통합, 클러스터링 등 아카가 제공하는 기본 기능을 코드와 함께 살펴본다. 아카를 사용하면 삶이 얼마나 편해지는지 알게 될 것이다.

상세이미지

Akka 코딩 공작소 도서 상세이미지

교환 및 환불안내

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