《Akka实战 快速构建高可用分布式应用》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:杜云飞著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2018
  • ISBN:9787111596851
  • 页数:202 页
图书介绍:本书一共分为10章,全面介绍了Akka的基础架构、Actor模型、常用组件、分布式&集群、微服务等。下面是各个章节的简介及阅读说明。第1章介绍了Akka的技术背景、应用场景及架构体系,为大家日后做技术选型提供参考依据。第2章介绍了Actor的相关概念、常见用法、生命周期、容错处理等。第3章介绍了Dispatcher的用途和常见配置方法。第4章介绍了邮箱的常见类型及配置,同时也给出了一个自定义邮箱类型的简单案例。第5章介绍了消息路由器的基本概念和创建方式(Pool和Group),然后分别演示了几种常见路由策略。第6章介绍了Akka的一些实用工具包,如Future、Event Bus等。第7、8章介绍了Akka分布式&集群相关的内容。第9章介绍了如何使用Akka构建HTTP和WebSocket服务,并完整实现了一个图文聊天系统。第10章介绍了一款“全家桶式”的微服务框架Lagom。

第1章 认识Akka 1

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章 走进Actor 8

2.1 Actor组件 8

2.1.1 Akka中的Actor 8

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创建一个Actor 14

2.3.1定义Actor 14

2.3.2创建Actor实例 14

2.3.3工厂模式---Props/Creator 15

2.4发送-接收消息 16

2.4.1 tell方法 16

2.4.2 ask方法 17

2.4.3消息转发 18

2.5查找一个Actor 18

2.6消息不可变 21

2.7 Actor行为切换 21

2.8 Actor生命周期 25

2.9停掉一个Actor 26

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配置Dispatcher 39

3.4使用Dispatcher 41

3.5 PinnedDispatcher 41

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和Routee 53

5.2路由器及路由逻辑 53

5.3路由Actor 56

5.3.1 Pool方式 56

5.3.2 Group方式 58

5.4常见路由类型 59

5.4.1广播-Broadcast 60

5.4.2最快响应-ScatterGatherFirst Completed 61

5.4.3随机-最快响应-TailChopping 62

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定时调度——Scheduler 67

6.2处理并发结果——Future 68

6.2.1 Future常规用法 68

6.2.2函数式Future 70

6.3事件总线 72

6.3.1实现事件总线 72

6.3.2事件流处理 74

6.4日志处理 75

6.4.1基础配置 76

6.4.2使用slf4j 76

6.5 Akka扩展 78

6.5.1 TypedActor初探 78

6.5.2自定义扩展 81

6.5.3集成Spring 83

6.6 Akka I/O 87

6.6.1 TCP服务 87

6.6.2 UDP服务 90

6.7 Akka Streams 91

6.7.1 Streams组件 91

6.7.2组合Source、Sink 94

6.7.3案例:日志处理 95

6.7.4错误处理 99

6.7.5关联Actor 101

6.8本章小结 102

第7章 远程 103

7.1远程介绍 103

7.1.1 Java RPC 103

7.1.2 Akka远程 106

7.2创建远程ActorSystem 107

7.3 Actor远程访问 108

7.4创建远程Actor 109

7.5远程路由器 110

7.6远程事件 113

7.7序列化 114

7.7.1 Protobuf框架 114

7.7.2序列化API 115

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使用ClusterClient 141

8.7.3事件监听 142

8.8集群分片 143

8.8.1分片概念 143

8.8.2持久化Actor 144

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 HTTP 159

9.2.1配置依赖 159

9.2.2 HTTP服务端 160

9.2.3请求和响应 160

9.2.4 HTTP客户端 163

9.2.5使用Routing DSL 163

9.2.6常用Directive 165

9.3 Akka WebSocket 166

9.3.1 WebSocket协议 167

9.3.2 Akka WebSocket 167

9.3.3 WebSocket应用之聊天室 169

9.4本章小结 176

第10章 微服务全家桶之Lagom 177

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 PersistentEntityAPI 187

10.4.3持久化示例 187

10.4.4 MySQL支持 191

10.5 Lagom部署(SandBox) 192

10.5.1安装ConductR SandBox 192

10.5.2部署Maven项目 195

10.6本章小结 199