Akka是一个分布式计算工具集,支持发者使用Java以及Scala便捷地构建正确的并发分布式应用程序。用户使用Akka构建的应用程序能够扩展至多台服务器,并能通过自恢复对失效情况做出响应。 《Akka门与实践》旨在对Akka行系统的介绍。对刚始使用Akka构建并发分布式应用程序的读者来说,本书将带领大家学习所需的所有概念。本书首先从Actor的概念始,然后逐步介绍Akka中的并发实现以及网络应用程序的构建。在教授如何使用Akka来解决疑难问题的同时,本书将介绍如何规避其中常见的陷阱。
售 价:¥
纸质售价:¥33.80购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
内容提要
关于作者
关于译者
技术审核
致谢
前言
本书涉及的内容
阅读本书的前提条件
本书的目标读者
读者反馈
客户支持
下载示例代码
下载本书的彩色图片
电子书、折扣以及其他
问题
第1章 初识Actor
1.1 本章概述
1.2 什么是Akka
1.2.1 Actor模型的起源
1.2.2 什么是Actor
1.2.3 Actor和消息传递
1.3 本书示例系统
1.3.1 示例1:处理分布式状态
1.3.2 示例2:完成更多工作
1.4 配置环境
1.4.1 选择一门语言
1.4.2 安装Java——Oracle JDK8
1.4.3 确认Java环境配置
1.4.4 安装Scala
1.4.5 安装Typesafe Activator
1.4.6 新建项目
1.4.7 安装IDE
1.5 创建第一个Akka应用程序——设置SBT项目
1.5.1 将Akka添加至build.sbt
1.5.2 创建第一个Actor
1.5.3 使用单元测试验证代码
1.5.4 运行测试用例
1.6 课后作业
1.7 小结
第2章 Actor与并发
2.1 响应式系统设计
2.2 响应式四准则
2.2.1 灵敏性
2.2.2 伸缩性
2.2.3 容错性
2.2.4 事件驱动/消息驱动
2.2.5 响应式准则的相关性
2.3 剖析Actor
2.3.1 Java Actor API
2.3.2 Scala Actor API
2.4 Actor的创建
Props
2.5 Promise、Future和事件驱动的编程模型
2.5.1 阻塞与事件驱动API
2.5.2 使用Future进行响应的Actor
2.5.3 理解Future和Promise
2.5.4 在失败情况下执行代码
2.5.5 从失败中恢复
2.5.6 异步地从失败中恢复
2.5.7 链式操作
2.5.8 组合Future
2.5.9 处理Future列表
2.5.10 Future速查表
2.5.11 准备数据库与消息
2.5.12 编写客户端
2.6 课后作业
2.6.1 基本知识
2.6.2 项目作业
2.7 小结
第3章 传递消息
3.1 示例问题
3.1 项目结构
3.2 消息传递
3.2.1 消息是不可变的
3.2.2 Ask消息模式
3.2.3 Tell
3.3 课后作业
3.4 小结
第4章 Actor的生命周期——处理状态与错误
4.1 分布式计算的8个误区
4.1.1 网络是可靠的
4.1.2 没有延迟
4.1.3 带宽是无限的
4.1.4 网络是安全的
4.1.5 网络拓扑不会改变
4.1.6 只有一个管理员
4.1.7 网络传输没有开销
4.1.8 网络是同构的
4.2 错误
4.2.1 隔离错误
4.2.2 监督
4.3 状态
4.3.1 在线/离线状态
4.3.2 条件语句
4.3.3 热交换(Hotswap):Become/Unbecome
4.3.4 通过重启转移状态
4.4 课后作业
4.5 小结
第5章 纵向扩展
5.1 摩尔定律
5.2 多核架构的分布式问题
5.3 选择Future或Actor进行并发编程
5.4 并行编程
5.4.1 使用Future进行并行编程
5.4.2 使用Actor进行并行编程
5.5 使用Dispatcher
5.5.1 Dispatcher解析
5.5.2 Executor
5.5.3 创建Dispatcher
5.5.4 决定何时使用哪种Dispatcher
5.5.5 默认Dispatcher
5.5.6 使用Future的阻塞IO Dispatcher
5.5.7 用于解析文章的Dispatcher
5.5.8 并行最优化
5.6 课后作业
5.7 小结
第6章 横向扩展——集群化
6.1 Akka Cluster介绍
6.2 巨型单体应用vs微服务
6.3 集群的定义
6.3.1 失败检测
6.3.2 通过gossip协议达到最终一致性
6.4 CAP理论
6.4.1 C –一致性(Consistency)
6.4.2 A –可用性(Availability)
6.4.3 P –分区容错性(Partition Tolerance)
6.4.4 CAP理论中的妥协
6.5 使用Akka Cluster构建系统
6.5.1 创建集群
6.5.2 集群成员的状态
6.5.3 通过路由向集群发送消息
6.5.4 编写分布式文章解析服务
6.5.5 用于集群服务的集群客户端
6.5.6 集群设计
6.6 结合分区与冗余
提前分区以及向新节点重新发送key
6.7 远程Actor寻址
使用akka.actor.Identify寻找远程Actor
6.8 课后作业
6.9 小结
第7章 处理邮箱问题
7.1 搞垮最可能出问题的服务
7.1.1 响应时间变长
7.1.2 崩溃
7.2 恢复能力
7.2.1 邮箱
7.3 在高负载情况下保持响应速度
7.3.1 熔断
7.4 课后作业
7.5 小结
第8章 测试与设计
8.1 示例问题
8.2 应用程序设计
架构设计
8.3 设计、构建并测试领域模型
8.3.1 行为说明
8.3.2 设计领域模型
8.3.3 构建并测试领域模型
8.3.4 基于行为说明编写代码
8.4 测试Actor
8.4.1 测试Actor行为及状态
8.4.2 测试消息流
8.5 测试建议
8.6 课后作业
8.7 小结
第9章 尾声
9.1 其他Akka功能及模块
9.1.1 Akka中的日志
9.1.2 消息信道与EventBus
9.1.3 Agent
9.1.4 Akka Persistence
9.1.5 Akka I/O
9.1.6 Akka Streams与HTTP
9.2 部署工具
9.3 监控日志与事件
9.4 下一步
9.4.1 编写一些Actor代码
9.4.2 Coursera课程
9.5 小结
欢迎来到异步社区!
异步社区的来历
社区里都有什么?
购买图书
下载资源
与作译者互动
灵活优惠的购书
纸电图书组合购买
社区里还可以做什么?
提交勘误
写作
会议活动早知道
加入异步
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜