Akka实战:快速构建高可用分布式应用

Akka实战:快速构建高可用分布式应用

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

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

内容简介

在大力提倡互联网+的今天,人们在PC、手机、Pad上安装了各式各样的软件服务或APP,享受着互联网技术带来的高效和便捷。同时,随着这些产品的高速发展,用户规模急剧扩大,系统承载能力会逐渐达到瓶颈,一些早期不常出现的问题也会慢慢浮出水面。实际上,系统开发者们也越来越重视软件的稳定性、高可用性、可扩展性对用户体验的影响,大家纷纷使出浑身解数,实践出多个构建大型应用所需要的技术架构。在这些架构方案中,有几个词始终不绝于耳,那就是:“高并发”“分布式”“高可用”。

作者简介

作者杜云飞,资深Java技术专家,上海小虫科技合伙人兼CTO,在Akka方面有丰富的实践经验。

从事软件开发和架构相关工作近10年,擅长Java体系下各项技术,在大型企业软件平台(如制造业ERP、财税云平台、智慧城市服务平台、电商系统等)的开发和架构方面经验丰富。

曾穿梭于各个技术岗位之间,并乐此不彼,期间独立创业近两年。多次受邀为惠普、通用等企业做技术分享、培训和咨询。

章节目录

版权信息

前言

第1章 认识Akka

1.1 Akka简介

1.1.1 技术背景

1.1.2 Akka是什么

1.2 Akka应用场景

1.3 Akka架构体系

1.3.1 Actor模型

1.3.2 体系结构

1.4 本章小结

第2章 走进Actor

2.1 Actor组件

2.1.1 Akka中的Actor

2.1.2 ActorSystem与监管

2.1.3 生命周期监控

2.1.4 引用与路径

2.2 Akka环境搭建

2.2.1 环境准备

2.2.2 使用Lightbend Activator平台

2.3 创建一个Actor

2.3.1 定义Actor

2.3.2 创建Actor实例

2.3.3 工厂模式---Props/Creator

2.4 发送-接收消息

2.4.1 tell方法

2.4.2 ask方法

2.4.3 消息转发

2.5 查找一个Actor

2.6 消息不可变

2.7 Actor行为切换

2.8 Actor生命周期

2.9 停掉一个Actor

2.10 监督与容错处理

2.11 Circuit Breaker(熔断)

2.12 配置相关

2.13 本章小结

第3章 线程调度

3.1 什么是Dispatcher?

3.2 Executor选择

3.3 配置Dispatcher

3.4 使用Dispatcher

3.5 PinnedDispatcher

3.6 本章小结

第4章 邮箱

4.1 消息处理顺序

4.2 默认邮箱配置

4.3 内置邮箱

4.3.1 内置邮箱说明

4.3.2 自定义优先级

4.3.3 控制指令优先

4.4 Actor使用邮箱的多种方式

4.4.1 配置Actor邮箱

4.4.2 配置dispatcher邮箱

4.4.3 实现RequiresMessageQueue接口

4.5 自定义邮箱类型

4.6 本章小结

第5章 消息路由

5.1 Router和Routee

5.2 路由器及路由逻辑

5.3 路由Actor

5.3.1 Pool方式

5.3.2 Group方式

5.4 常见路由类型

5.4.1 广播-Broadcast

5.4.2 最快响应-ScatterGatherFirstCompleted

5.4.3 随机-最快响应-TailChopping

5.4.4 创建可修改容量的池

5.5 特殊消息处理

5.5.1 Broadcast消息

5.5.2 PoisonPill消息

5.5.3 其他管理类消息

5.6 本章小结

第6章 实用工具

6.1 定时调度——Scheduler

6.2 处理并发结果——Future

6.2.1 Future常规用法

6.2.2 函数式Future

6.3 事件总线

6.3.1 实现事件总线

6.3.2 事件流处理

6.4 日志处理

6.4.1 基础配置

6.4.2 使用slf4j

6.5 Akka扩展

6.5.1 TypedActor初探

6.5.2 自定义扩展

6.5.3 集成Spring

6.6 Akka I/O

6.6.1 TCP服务

6.6.2 UDP服务

6.7 Akka Streams

6.7.1 Streams组件

6.7.2 组合Source、Sink

6.7.3 案例:日志处理

6.7.4 错误处理

6.7.5 关联Actor

6.8 本章小结

第7章 远程

7.1 远程介绍

7.1.1 Java RPC

7.1.2 Akka远程

7.2 创建远程ActorSystem

7.3 Actor远程访问

7.4 创建远程Actor

7.5 远程路由器

7.6 远程事件

7.7 序列化

7.7.1 Protobuf框架

7.7.2 序列化API

7.8 本章小结

第8章 集群

8.1 Akka集群概述

8.1.1 种子节点

8.1.2 领导节点

8.1.3 节点状态及生命周期

8.1.4 故障检测

8.2 创建Akka集群

8.2.1 代码及集群配置

8.2.2 启动集群

8.2.3 加入集群

8.2.4 akka-cluster集群工具

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

8.3.1 示例分析

8.3.2 代码实现

8.4 使用路由

8.4.1 Group路由

8.4.2 Pool路由

8.5 集群指标

8.5.1 指标收集

8.5.2 基于指标的负载均衡

8.6 集群单例

8.7 集群客户端

8.7.1 集群客户端概述

8.7.2 使用ClusterClient

8.7.3 事件监听

8.8 集群分片

8.8.1 分片概念

8.8.2 持久化Actor

8.8.3 分片示例

8.9 本章小结

第9章 HTTP服务

9.1 HTTP协议

9.1.1 header信息

9.1.2 状态码

9.2 Akka HTTP

9.2.1 配置依赖

9.2.2 HTTP服务端

9.2.3 请求和响应

9.2.4 HTTP客户端

9.2.5 使用Routing DSL

9.2.6 常用Directive

9.3 Akka WebSocket

9.3.1 WebSocket协议

9.3.2 Akka WebSocket

9.3.3 WebSocket应用之聊天室

9.4 本章小结

第10章 微服务全家桶之Lagom

10.1 Lagom简介

10.2 Lagom初探

10.3 搭建Lagom服务

10.3.1 项目结构

10.3.2 编写Lagom服务

10.4 持久化实体

10.4.1 持久化简介

10.4.2 PersistentEntity API

10.4.3 持久化示例

10.4.4 MySQL支持

10.5 Lagom部署(SandBox)

10.5.1 安装ConductR SandBox

10.5.2 部署Maven项目

10.6 本章小结

Akka实战:快速构建高可用分布式应用是2018年由机械工业出版社华章分社出版,作者杜云飞。

得书感谢您对《Akka实战:快速构建高可用分布式应用》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
机器人构建实战 电子书
随着科技的不断发展,软硬件之间的整合越来越密切,机器人也在这样的大环境下获得了前所未有的发展。机器人构建实战是一本基础的介绍机器人设计与搭建的指南,能够帮助更多的人了解机器人。机器人构建实战通过6篇,共计30章内容,全面细致地向读者介绍了有关机器人的相关知识。机器人构建实战从基础知识讲起,分别介绍了避障机器人、除障机器人、全向运动机器人以及几个综合项目。机器人构建实战内容全面、讲解细致,可作为高等
好好表现:60秒快速构建强关系 电子书
包含了解自己的7种道具,利用内向者优势创造强关系链条,帮助你在关系博弈中掌握先机。
乐高机器人——Scratch与WeDo编程基础实战应用 电子书
本书有26章,从认识Scratch编程,认识WEDO硬件,软件,数字建模,20个模型,编程逻辑,传感器应用,WEDO与Scratch互动游戏,工信部蓝桥杯教师培训题程序讲解。WEDO搭建结构,零件列表。系统全面的讲解从硬件到软件,从模型到编程。从虚拟搭建步骤图到实际搭建,Scratch编程,WEDO科学机器人编程讲解视频。让乐高玩家更全面的了解乐高WEDO科学机器人,Scratch编程。让普通家长
AutoCAD 2022 快速入门与实战 电子书
《AutoCAD2022快速入门与实战》介绍了AutoCAD2022软件的基础及实用功能,并辅以范例引导读者通过自学迈向精通行列。本书精心设计了创新的知识框架结构,突出“常用命令速查手册”和“范例实训教程”两大应用特点,以帮助读者快速掌握AutoCAD2022的主流设计功能,并帮助读者解决工作和学习中遇到的一些实际问题。《AutoCAD2022快速入门与实战》适合从零开始学习AutoCAD软件的工
CMake构建实战:项目开发卷 电子书
打牢基础,拥抱现代CMake。