杜云飞java_Akka实战:快速构建高可用分布式应用 杜云飞著 PDF下载

资深Java技术专家在大量实践后的经验与教训的总结。

以实战为导向,从Akka架构、组件、工具包、分布式、集群、微服务等多个角度展开,为构建高可用、高性能、分布式应用提供了详尽指导。

Akka是一款非常优秀的分布式并行应用框架,它为快速构建高可用、高性能的分布式应用提供了良好的解决方案。

本书是资深Java技术专家在大量实践后所得的经验与教训的总结,以实战为导向,从架构、组件、工具包、分布式、集群、微服务等多个角度对Akka进行了详细讲解,为快速构建高可用、高性能的分布式应用提供了详尽指导。每个知识点都配备了详细的代码示例和配置说明,实操性极强。

全书一共10章:

第1章 全面介绍了Akka的概念、应用场景和系统架构,为技术团队全面了解Akka和技术选型提供了参考依据。

第2~5章 详细讲解了Akka的各种模型&组件的原理及用法,如Actor、线程调度(Dispatcher)、邮箱和消息路由等。

第6章 介绍了Akka的一些实用工具包,如Future、Event Bus、Akka Streams等。

第7~8章 主要讲解了Akka分布式&集群相关的内容,如远程Actor、远程路由、事件监听、集群搭建、集群分片、持久化等。

第9章 讲解了如何使用Akka构建HTTP和WebSocket服务,并实现了一个完整的图文聊天系统。

第10章 介绍了一款“全家桶式”的微服务框架Lagom,它基于Akka和Play而构建,提供了一整套微服务解决方案。

150ce010fd2032a80de65a58d146988d.png

Contents 目录

前言

第1章 认识Akka1

1.1 Akka简介1

1.1.1 技术背景1

1.1.2 Akka是什么3

1.2 Akka应用场景4

1.3 Akka架构体系4

1.3.1 Actor模型4

1.3.2 体系结构4

1.4 本章小结7

第2章 走进Actor8

2.1 Actor组件8

2.1.1 Akka中的Actor8

2.1.2 ActorSystem与监管9

2.1.3 生命周期监控9

2.1.4 引用与路径10

2.2 Akka环境搭建10

2.2.1 环境准备11

2.2.2 使用Lightbend Activator平台12

2.3 创建一个Actor14

2.3.1 定义Actor14

2.3.2 创建Actor实例14

2.3.3 工厂模式---Props/Creator15

2.4 发送-接收消息16

2.4.1 tell方法16

2.4.2 ask方法17

2.4.3 消息转发18

2.5 查找一个Actor18

2.6 消息不可变21

2.7 Actor行为切换21

2.8 Actor生命周期25

2.9 停掉一个Actor26

2.10 监督与容错处理29

2.11 Circuit Breaker(熔断)33

2.12 配置相关35

2.13 本章小结36

第3章 线程调度38

3.1 什么是Dispatcher?38

3.2 Executor选择39

3.3 配置Dispatcher39

3.4 使用Dispatcher41

3.5 PinnedDispatcher41

3.6 本章小结42

第4章 邮箱43

4.1 消息处理顺序43

4.2 默认邮箱配置44

4.3 内置邮箱45

4.3.1 内置邮箱说明45

4.3.2 自定义优先级45

4.3.3 控制指令优先48

4.4 Actor使用邮箱的多种方式49

4.4.1 配置Actor邮箱49

4.4.2 配置dispatcher邮箱49

4.4.3 实现RequiresMessageQueue接口50

4.5 自定义邮箱类型50

4.6 本章小结52

第5章 消息路由53

5.1 Router和Routee53

5.2 路由器及路由逻辑53

5.3 路由Actor56

5.3.1 Pool方式56

5.3.2 Group方式58

5.4 常见路由类型59

5.4.1 广播-Broadcast60

5.4.2 最快响应-ScatterGatherFirstCompleted61

5.4.3 随机-最快响应-TailChopping62

5.4.4 创建可修改容量的池62

5.5 特殊消息处理63

5.5.1 Broadcast消息64

5.5.2 PoisonPill消息64

5.5.3 其他管理类消息64

5.6 本章小结65

第6章 实用工具67

6.1 定时调度—Scheduler67

6.2 处理并发结果—Future68

6.2.1 Future常规用法68

6.2.2 函数式Future70

6.3 事件总线72

6.3.1 实现事件总线72

6.3.2 事件流处理74

6.4 日志处理75

6.4.1 基础配置76

6.4.2 使用slf4j76

6.5 Akka扩展78

6.5.1 TypedActor初探78

6.5.2 自定义扩展81

6.5.3 集成Spring83

6.6 Akka I/O87

6.6.1 TCP服务87

6.6.2 UDP服务90

6.7 Akka Streams91

6.7.1 Streams组件91

6.7.2 组合Source、Sink94

6.7.3 案例:日志处理95

6.7.4 错误处理99

6.7.5 关联Actor101

6.8 本章小结102

第7章 远程103

7.1 远程介绍103

7.1.1 Java RPC103

7.1.2 Akka远程106

7.2 创建远程ActorSystem107

7.3 Actor远程访问108

7.4 创建远程Actor109

7.5 远程路由器110

7.6 远程事件113

7.7 序列化114

7.7.1 Protobuf框架114

7.7.2 序列化API115

7.8 本章小结116

第8章 集群117

8.1 Akka集群概述117

8.1.1 种子节点118

8.1.2 领导节点118

8.1.3 节点状态及生命周期118

8.1.4 故障检测119

8.2 创建Akka集群119

8.2.1 代码及集群配置119

8.2.2 启动集群122

8.2.3 加入集群123

8.2.4 akka-cluster集群工具123

8.3 集群示例—实现文章单词统计125

8.3.1 示例分析125

8.3.2 代码实现127

8.4 使用路由133

8.4.1 Group路由133

8.4.2 Pool路由133

8.5 集群指标136

8.5.1 指标收集136

8.5.2 基于指标的负载均衡138

8.6 集群单例139

8.7 集群客户端140

8.7.1 集群客户端概述140

8.7.2 使用 ClusterClient141

8.7.3 事件监听142

8.8 集群分片143

8.8.1 分片概念143

8.8.2 持久化Actor144

8.8.3 分片示例148

8.9 本章小结155

第9章 HTTP服务156

9.1 HTTP协议156

9.1.1 header信息157

9.1.2 状态码159

9.2 Akka HTTP159

9.2.1 配置依赖159

9.2.2 HTTP服务端160

9.2.3 请求和响应160

9.2.4 HTTP客户端163

9.2.5 使用Routing DSL163

9.2.6 常用Directive165

9.3 Akka WebSocket166

9.3.1 WebSocket协议167

9.3.2 Akka WebSocket167

9.3.3 WebSocket应用之聊天室169

9.4 本章小结176

第10章 微服务全家桶之Lagom177

10.1 Lagom简介177

10.2 Lagom初探178

10.3 搭建Lagom服务181

10.3.1 项目结构181

10.3.2 编写Lagom服务182

10.4 持久化实体186

10.4.1 持久化简介186

10.4.2 PersistentEntity API187

10.4.3 持久化示例187

10.4.4 MySQL支持191

10.5 Lagom部署(SandBox)192

10.5.1 安装ConductR SandBox192

10.5.2 部署Maven项目195

10.6 本章小结199

内容简介 本书将尝试帮助入门级、中级以及高级读者理解基本的分布式计算概念,并且展示 如何使用 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 特性。下一步需要学习的知识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值