序
译者序
致谢
关于本书
第1章 Akka简介
1.1 什么是Akka?
1.2 Actor简介
1.3 两种扩展方法:建立我们的实例
1.4 传统扩展
1.4.1 传统扩展和持久性:一切移入数据库
1.4.2 传统扩展和交互应用:轮询
1.4.3 传统扩展和交互应用:Web服务
1.5 用Akka进行扩展
1.5.1 用Akka扩展和持久化:发送和接收消息
1.5.2 用Akka扩展和交互应用:消息推送
1.5.3 用Akka扩展和容错:异步解耦
1.5.4 Akka方式:发送和接收消息
1.6 Actor:向上和向外扩展的编程模型
1.6.1 异步模型
1.6.2 Actor操作
1.7 Akka Actor
1.7.1 ActorSystem
1.7.2 ActorRef、邮箱和Actor
1.7.3 分发器
1.7.4 Actor和网络
1.8 总结
第2章 搭建和运行
2.1 克隆、构建和测试接口
2.1.1 用sbt进行构建
2.1.2 快进到GoTicks.com REST服务器
2.2 探索应用中的app
2.2.1 app结构
2.2.2 处理销售的Actor:TicketSeller
2.2.3 BoxOffice Actor
2.2.4 RestApi
2.3 部署到云上
2.3.1 在Heroku上创建app
2.3.2 在Heroku上部署并运行
2.4 总结
第3章 Actor测试驱动开发
3.1 测试Actor
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 Let it crash
4.2 Actor生命周期
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章 Futures
5.1 Future的应用实例
5.2 Future无阻塞
5.3 Future错误处理
5.4 Future组合
5.5 Future组合Actor
5.6 总结
第6章 第一个分布式Akka app
6.1 向外扩展
6.1.1 通用网络术语
6.1.2 采用分布式编程模型的原因
6.2 远程扩展
6.2.1 把GoTicks.com app改造成分布式应用
6.2.2 远程REPL活动
6.2.3 远程查找
6.2.4 远程部署
6.2.5 多JVM测试
6.3 总结
第7章 配置、日志和部署
7.1 配置
7.1.1 尝试Akka配置
7.1.2 使用默认值
7.1.3 Akka配置
7.1.4 多系统
7.2 日志
7.2.1 Akka中的日志记录
7.2.2 使用日志
7.2.3 Akka的日志控制
7.3 部署基于Actor的应用
7.4 总结
第8章 Actor的结构模式
8.1 管道和过滤器
8.1.1 企业集成模式:管道和过滤器
8.1.2 Akka中的管道和过滤器
8.2 企业集成模式:分发-收集模式
8.2.1 适用性
8.2.2 Akka处理并行任务
8.2.3 使用接收者列表实现分发组件
8.2.4 使用聚合器模式实现收集组件
8.2.5 组合组件实现分发-收集模式
8.3 企业集成模式:路由表模式
8.4 总结
第9章 路由消息
9.1 企业集成路由模式
9.2 使用Akka Router实现负载平衡
9.2.1 Akka Router池
9.2.2 Akka Router群组
9.2.3 ConsistentHashing Router
9.3 用Actor实现路由模式
9.3.1 基于内容的路由
9.3.2 基于状态的路由
9.3.3 Router的实现
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 使用Apache Camel实现终端
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 用Flow处理事件
13.1.4 处理流中的错误
13.1.5 用BidiFlow创建协议
13.2 HTTP流
13.2.1 接收HTTP流
13.2.2 HTTP响应流
13.2.3 内容类型和协调的自定义编组与解组
13.3 用Graph DSL进行扇入和扇出
13.3.1 广播流
13.3.2 合并流
13.4 协调