当前位置:主页 > 书籍配套资源 > Akka配套资源
《Akka入门与实践》配套资源

《Akka入门与实践》配套资源

  • 更新:2022-06-07
  • 大小:5.68 MB
  • 类别:Akka
  • 作者:[加]Jason、Goodwin(贾森·
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

编辑推荐

Akka是一个分布式计算工具集,支持开发者使用Java以及Scala便捷地构建正确的并发分布式应用程序。用户使用Akka构建的应用程序能够扩展至多台服务器,并能通过自恢复对失效情况做出响应。《Akka入门与实践》旨在对Akka进行系统的介绍。对刚开始使用Akka构建并发分布式应用程序的读者来说,本书将带领大家学习所需的所有概念。本书首先从Actor的概念开始,然后逐步介绍Akka中的并发实现以及网络应用程序的构建。在教授如何使用Akka来解决疑难问题的同时,本书将介绍如何规避其中常见的陷阱。从本书中学到的知识·使用Akka来解决并发编程中遇到的挑战·使用Akka来构建集群,并在多台机器上分配工作·扩展应用程序,使之支持大量并发用户·利用自恢复的应用程序为系统提供容错性·使用事件驱动的方法构建低延迟应用程序·通过高效利用系统资源来减少硬件开销·通过扩展来有效提高网络效率

内容简介

《Akka入门与实践》主要面向使用Akka工具集来构建大规模分布式应用程序的Java和Scala开发者。Akka入门与实践 介绍了分布式系统的基本概念以及如何使用Akka来构建容错性高、可横向扩展的分布式应用程序。《Akka入门与实践》的主要内容包括:Akka工具集、Actor模型、响应式编程、Actor及Future的使用、Akka消息传递模式、Actor生命周期、监督机制、状态与错误处理、Akka并发编程、路由、阻塞IO的处理、Akka Cluster、CAP理论、Akka邮箱问题的处理、Akka Testkit、领域驱动设计等。《Akka入门与实践》贯穿使用了分布式键值存储以及文章解析服务两个实例,将原理与实践结合,介绍了使用Akka设计并实现分布式应用程序的方法。

作者简介

Jason Goodwin,自学成才的开发者,从15岁起就开始学习编程,并且一直对技术保持着浓厚的兴趣。他在mDialog公司初次接触到Akka项目,这家公司zui终被Google收购。他同时还是一名很有影响力的“技术控”,将Akka引入加拿大一家主要的电信公司,帮助该公司为客户提供容错性更高、响应更及时的软件。现在他主要从事大规模分布式系统的开发。在业余时间,他喜欢自己原创电子音乐。译者简介诸豪文,网名clasnake,毕业于清华大学,现为全职软件开发工程师,常用的开发语言有Java、Scala、JavaScript和Python。其个人博客地址为http: clasnake.net。他也是开源项目Swagger的贡献者,并译有《Python网络编程》(第3版)一书。

目录

  • 第1章 初识Actor 1
  • 1.1 本章概述 1
  • 1.2 什么是Akka 1
  • 1.2.1 Actor模型的起源 1
  • 1.2.2 什么是Actor 2
  • 1.2.3 Actor和消息传递 2
  • 1.3 本书示例系统 7
  • 1.3.1 示例1:处理分布式状态 7
  • 1.3.2 示例2:完成更多工作 8
  • 1.4 配置环境 8
  • 1.4.1 选择一门语言 9
  • 1.4.2 安装Java——Oracle JDK8 9
  • 1.4.3 确认Java环境配置 10
  • 1.4.4 安装Scala 10
  • 1.4.5 安装Typesafe Activator 10
  • 1.4.6 新建项目 11
  • 1.4.7 安装IDE 12
  • 1.5 创建第一个Akka应用程序——设置SBT项目 15
  • 1.5.1 将Akka添加至build.sbt 16
  • 1.5.2 创建第一个Actor 17
  • 1.5.3 使用单元测试验证代码 21
  • 1.5.4 运行测试用例 24
  • 1.6 课后作业 25
  • 1.7 小结 26
  • 第2章 Actor与并发 27
  • 2.1 响应式系统设计 27
  • 2.2 响应式四准则 28
  • 2.2.1 灵敏性 28
  • 2.2.2 伸缩性 28
  • 2.2.3 容错性 28
  • 2.2.4 事件驱动 消息驱动 28
  • 2.2.5 响应式准则的相关性 29
  • 2.3 剖析Actor 29
  • 2.3.1 Java Actor API 29
  • 2.3.2 Scala Actor API 32
  • 2.4 Actor的创建 33
  • 2.5 Promise、Future和事件驱动的编程模型 36
  • 2.5.1 阻塞与事件驱动API 36
  • 2.5.2 使用Future进行响应的Actor 40
  • 2.5.3 理解Future和Promise 45
  • 2.5.4 在失败情况下执行代码 49
  • 2.5.5 从失败中恢复 49
  • 2.5.6 异步地从失败中恢复 50
  • 2.5.7 链式操作 51
  • 2.5.8 组合Future 51
  • 2.5.9 处理Future列表 52
  • 2.5.10 Future速查表 53
  • 2.5.11 准备数据库与消息 54
  • 2.5.12 编写客户端 59
  • 2.6 课后作业 62
  • 2.6.1 基本知识 62
  • 2.6.2 项目作业 62
  • 2.7 小结 63
  • 第3章 传递消息 64
  • 3.1 示例问题 64
  • 3.2 消息传递 65
  • 3.2.1 消息是不可变的 66
  • 3.2.2 Ask消息模式 69
  • 3.2.3 Tell 78
  • 3.3 课后作业 88
  • 3.4 小结 88
  • 第4章 Actor的生命周期——处理状态与错误 90
  • 4.1 分布式计算的8个误区 90
  • 4.1.1 网络是可靠的 90
  • 4.1.2 没有延迟 91
  • 4.1.3 带宽是无限的 91
  • 4.1.4 网络是安全的 92
  • 4.1.5 网络拓扑不会改变 92
  • 4.1.6 只有一个管理员 92
  • 4.1.7 网络传输没有开销 93
  • 4.1.8 网络是同构的 93
  • 4.2 错误 93
  • 4.2.1 隔离错误 94
  • 4.2.2 监督 95
  • 4.3 状态 102
  • 4.3.1 在线 离线状态 103
  • 4.3.2 条件语句 104
  • 4.3.3 热交换(Hotswap):Become Unbecome 105
  • 4.3.4 通过重启转移状态 113
  • 4.4 课后作业 113
  • 4.5 小结 114
  • 第5章 纵向扩展 115
  • 5.1 摩尔定律 115
  • 5.2 多核架构的分布式问题 116
  • 5.3 选择Future或Actor进行并发编程 117
  • 5.4 并行编程 117
  • 5.4.1 使用Future进行并行编程 118
  • 5.4.2 使用Actor进行并行编程 119
  • 5.5 使用Dispatcher 123
  • 5.5.1 Dispatcher解析 123
  • 5.5.2 Executor 124
  • 5.5.3 创建Dispatcher 124
  • 5.5.4 决定何时使用哪种Dispatcher 126
  • 5.5.5 默认Dispatcher 128
  • 5.5.6 使用Future的阻塞IO Dispatcher 130
  • 5.5.7 用于解析文章的Dispatcher 132
  • 5.5.8 并行最优化 135
  • 5.6 课后作业 135
  • 5.7 小结 136
  • 第6章 横向扩展——集群化 137
  • 6.1 Akka Cluster介绍 137
  • 6.2 巨型单体应用vs微服务 137
  • 6.3 集群的定义 138
  • 6.3.1 失败检测 139
  • 6.3.2 通过gossip协议达到最终一致性 139
  • 6.4 CAP理论 140
  • 6.4.1 C ?C一致性(Consistency) 140
  • 6.4.2 A ?C可用性(Availability) 140
  • 6.4.3 P ?C分区容错性(Partition Tolerance) 140
  • 6.4.4 CAP理论中的妥协 141
  • 6.5 使用Akka Cluster构建系统 143
  • 6.5.1 创建集群 143
  • 6.5.2 集群成员的状态 150
  • 6.5.3 通过路由向集群发送消息 151
  • 6.5.4 编写分布式文章解析服务 151
  • 6.5.5 用于集群服务的集群客户端 153
  • 6.5.6 集群设计 159
  • 6.6 结合分区与冗余 164
  • 6.7 远程Actor寻址 166
  • 6.8 课后作业 167
  • 6.9 小结 167
  • 第7章 处理邮箱问题 169
  • 7.1 搞垮最可能出问题的服务 169
  • 7.1.1 响应时间变长 170
  • 7.1.2 崩溃 171
  • 7.2 恢复能力 171
  • 7.3 在高负载情况下保持响应速度 175
  • 7.4 课后作业 181
  • 7.5 小结 182
  • 第8章 测试与设计 183
  • 8.1 示例问题 183
  • 8.2 应用程序设计 184
  • 8.3 设计、构建并测试领域模型 186
  • 8.3.1 行为说明 186
  • 8.3.2 设计领域模型 187
  • 8.3.3 构建并测试领域模型 188
  • 8.3.4 基于行为说明编写代码 190
  • 8.4 测试Actor 192
  • 8.4.1 测试Actor行为及状态 192
  • 8.4.2 测试消息流 195
  • 8.5 测试建议 198
  • 8.6 课后作业 199
  • 8.7 小结 200
  • 第9章 尾声 201
  • 9.1 其他Akka功能及模块 201
  • 9.1.1 Akka中的日志 202
  • 9.1.2 消息信道与EventBus 204
  • 9.1.3 Agent 206
  • 9.1.4 Akka Persistence 209
  • 9.1.5 Akka I O 210
  • 9.1.6 Akka Streams与HTTP 210
  • 9.2 部署工具 210
  • 9.3 监控日志与事件 212
  • 9.4 下一步 212
  • 9.4.1 编写一些Actor代码 213
  • 9.4.2 Coursera课程 213
  • 9.5 小结 214

资源下载

资源下载地址1:https://box.lenovo.com/l/fuwOsE

相关资源

网友留言