您当前的位置:首页 > Akka实战:快速构建高可用分布式应用 杜云飞 2018年版 > 下载地址2
Akka实战:快速构建高可用分布式应用 杜云飞 2018年版
- 名 称:Akka实战:快速构建高可用分布式应用 杜云飞 2018年版 - 下载地址2
- 类 别:计算机与网络
- 下载地址:[下载地址2]
- 提 取 码:
- 浏览次数:3
新闻评论(共有 0 条评论) |
资料介绍
Akka实战:快速构建高可用分布式应用
作者:杜云飞
出版时间:2018年版
内容简介
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而构建,提供了一整套微服务解决方案。
目录
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
作者:杜云飞
出版时间:2018年版
内容简介
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而构建,提供了一整套微服务解决方案。
目录
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