본문내용 바로가기
무료배송 이벤트 경품 소득공제

Akka 코딩 공작소 비동기 처리는 Akka에 맡기고 로직 구현에만 집중하자!

레이먼드 뢰스텐버그 , 롭 베커, 롭 윌리엄스 지음 | 오현석 옮김 | 길벗 | 2017년 07월 28일 출간
  • 정가 : 38,000원
    판매가 : 34,200 [10%↓ 3,800원 할인]
  • 통합포인트 :
    [기본적립] 1,900원 적립 [5% 적립] 안내 [추가적립] 5만원 이상 구매 시 2천원 추가적립 [회원혜택] 우수회원 3만원 이상 구매 시 2~4% 추가적립
  • 추가혜택 : 카드/포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    08월 26일 출고 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • 길벗 IT도서를 개발서/활용서/수험서 유형별로 한눈에 살펴보세요
    2017.11.23 ~ 2019.12.31
  • MANNING, O'REILLY, PACKT, WILE..
    2016.03.07 ~ 2020.12.31
  • 설문참여 시 매월 5명 추첨통해 선물을 드립니다.
    10. 14 ~ 12. 31
상품상세정보
ISBN 9791160502305(1160502307)
쪽수 552쪽
크기 184 * 236 * 26 mm /1004g 판형알림
이 책의 원서/번역서 Akka in Action/Raymond Roestenburg

책소개

이 책이 속한 분야

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

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

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

상세이미지

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

저자소개

저자 : 레이먼드 뢰스텐버그

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

저자 : 롭 베커

저자 롭 베커(Rob Bakker)는 경험 많은 소프트웨어 개발자로 동시성 백엔드 시스템과 시스템 통합에 관심이 많다. 아카 버전 0.7부터 스칼라와 아카를 사용해왔다.

저자 : 롭 윌리엄스

저자 롭 윌리엄스(Rob Williams)는 기계 학습에 초점을 맞춘, 자바 솔루션을 중심으로 하는 온토메트릭스(ontometrics)사의 설립자다. 십여 년 전부터 액터 기반 프로그래밍을 사용해왔고 프로젝트에 적용했다.

역자 : 오현석

역자 오현석은 KAIST에서 전산학 학사와 석사 학위(프로그래밍 언어 연구실)를 취득했다. 삼성메디슨, 비트앤펄스 등에서 UI 개발자와 개발 팀장을 지냈고, 현재 호주 JNF Soft에서 C++/풀스택 개발자 및 컨설턴트로 일하고 있다. 매일 두 시간씩 번역과 저술을 통해 조금이나마 동료 프로그래머들에게 도움을 주고자 노력하고 있다. 웹이나 모바일 등 분야에서 값 중심 프로그래밍을 통해 오류 발생 가능성이 작으면서 유지 보수가 편한 프로그램을 작성하는 방법과 이를 지원하는 여러 도구를 만드는 일에 관심이 많다. 최근에는 CEF를 기반으로 웹 프런트엔드와 C++ 백엔드를 결합한 흥미로운 프로젝트를 진행하고 있으며, 함수형 리액티브 프로그래밍을 자바스크립트와 C++에 적용해서 좀 더 편하면서 오류도 적은 코드를 생산해내는 방법을 찾으려고 고민 중이다.
《코어 파이썬 애플리케이션 프로그래밍 3판》(에이콘, 2014)부터 시작해서 《시스템 성능 분석과 최적화》(위키북스, 2015), 《고성능 파이썬》(한빛미디어, 2016), 《함수형 파이썬 프로그래밍》, 《Programming in Scala 3/e》(이상 에이콘, 2017) 등을 비롯한 십여 권 이상의 책을 번역했다.

목차

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 요약

추천사

케빈 에슬러(타임트레이드 시스템즈)

“내가 본 것 중 가장 읽기 쉬우며, 최신 버전의 아카를 다루는 책이다.”

앤디 힉스(런던 스칼라 사용자 그룹)

“아카 입문용으로는 물론이고 기본을 뛰어넘어 더 발전시킬 여지가 충분한 책이다.”

윌리엄 E. 휠러(TEK 시스템즈)

“실제 업무에 적용할 수 있는 아카 사용자 가이드다.”

이아인 스탁스(게임 어카운트 네트워크)

“정말 유용한 책이다. 모든 장에 걸쳐, 아카를 사용해서 실제적인 일을 어떻게 수행할 수 있는지를 동작 가능한 코드로 보여준다.”

책 속으로

아무쪼록 스칼라와 아카를 통해 분산 및 동시성 애플리케이션을 개발하는 재미를 느껴보기를 바란다. 스칼라를 모르는 자바 개발자도 책에 나오는 스칼라 예제와 (일반적인) 설명을 읽은 뒤 아카 자바 문서를 살펴보면 아카를 좀 더 쉽게 활용할 수 있을 것이다. 새로운 언어와 개념을 접하는 것을 무서워하지 말고 한 번쯤 발을 담가보기 바란다. 그러면 새로운 지평이 열릴 것이다. _옮긴이의 글 중에서(3쪽)

아카를 사용하기 전에는 JVM에서 분산 및 동시성 애플리케이션을 작성하려면 더 나은, 더 단순한 도구가 필요했다. 그리고 아카가 바... 더보기

출판사 서평

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

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

* 다루는 내용
● 메시지 중심 시스템을 만드는 방법
● 동시성 처리
● 테스트와 성능 튜닝
● 내고장성 시스템 배포
● 규모 확장
●... 더보기

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면 통합포인트를 드립니다.
결제 90일 이내 작성 시 300원 / 발송 후 5일 이내 작성시 400원 / 이 상품의 첫 리뷰 작성 시 500원
(포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외)
안내
  • 해당도서의 리뷰가 없습니다.

Klover 평점/리뷰 (0)

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

이 책의 원서번역서

안내

이 분야의 베스트

더보기+

이 분야의 신간

  • 로버트 C. 마틴
    26,100원
  • 전은재
    17,820원
  • 권학봉
    38,250원
  • 한정희
    18,000원
  • 문준희(수다쟁이쭌)
    17,820원
더보기+

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품