内容简介
本书将尝试帮助入门级、中级以及高级读者理解基本的分布式计算概念,并且展示
如何使用 Akka 来构建具备高容错性、可以横向扩展的分布式网络应用程序。Akka 是一
个强大的工具集,提供了很多选项,可以对在本地机器上处理或网络远程机器上处理的
某项工作进行抽象封装,使之对开发者不可见。本书将介绍各种概念,帮助读者理解
网络上各系统进行交互的困难之处,并介绍如何使用 Akka 提供的解决方案来解决这些
问题。
作者简介
Jason Goodwin 是一个基本上通过自学成才的开发者。他颇具企业家精神,在学校
学习商学。不过他从 15 岁起就开始学习编程,并且一直对技术保持着浓厚的兴趣。这对
他的职业生涯产生了重要的影响,从商学转向了软件开发。现在他主要从事大规模分布
式系统的开发。在业余时间,他喜欢自己原创电子音乐。
他在 mDialog 公司第一次接触到 Akka 项目。mDialog 是一家使用 Scala/Akka 的公司,
为主流出版商提供视频广告插入软件。这家公司最终被 Google 收购。他同时还是一名很
有影响力的“技术控”,将 Akka 引入加拿大一家主要的电信公司,帮助该公司为客户提
供容错性更高、响应更及时的软件。除此之
外,他还为该公司中的一些团队教授 Akka、
函数式以及并发编程等知识。
目录
第 1 章 初识 Actor:Akka 工具集以及 Actor 模型的介绍。
第 2 章 Actor 与并发:响应式编程。Actor 与 Future 的使用。
第 3 章 传递消息:消息传递模式。
第 4 章 Actor 的生命周期—处理状态与错误:Actor 生命周期、监督机制、Stash/
Unstash、Become/Unbecome 以及有限自动机。
第 5 章 纵向扩展:并发编程、Router Group/Pool、Dispatcher、阻塞 I/O 的处理以
及 API。
第 6 章 横向扩展—集群化:集群、CAP 理论以及 Akka Cluster。
第 7 章 处理邮箱问题:加大邮箱负载、不同邮箱的选择、熔断机制。
第 8 章 测试与设计:行为说明、领域驱动设计以及 Akka Testkit。
第 9 章 尾声:其他 Akka 特性。下一步需要学习的知识。
1