Akka实战:快速构建高可用分布式应用
上QQ阅读APP看书,第一时间看更新

如何阅读本书

本书一共分为10章,全面介绍了Akka的基础架构、Actor模型、常用组件、分布式&集群、微服务等。下面是各个章节的简介及阅读说明。

第1章主要介绍了Akka的技术背景、应用场景及架构体系,为大家日后做技术选型提供参考依据。

第2章全面介绍了Actor的相关概念、常见用法、生命周期、容错处理等。Actor可谓Akka最核心的组件,所有其他功能都是围绕它来构建的,所以对其理解越深刻,越有助于后续内容的学习。

第3章介绍了Dispatcher的用途和常见配置方法。对其进行合理配置,可以有效提高系统吞吐率。

第4章介绍了邮箱的常见类型及配置,同时给出了一个自定义邮箱类型的简单案例。

第5章介绍了消息路由器的基本概念和创建方式(Pool和Group),然后分别演示了“广播”“最快响应”等常见路由策略。虽然本章的示例都是基于本地系统的,但实际上它可以无缝切换成远程模式,即在分布式集群环境下(具体会在第7章和第8章进行介绍),路由功能也是完全可用的。

第6章介绍了Akka的一些实用工具包,比较重要的有Future、Event Bus(事件总线)、Akka Streams等。其中Future可以接收Actor的计算结果,并通过多种方式对结果进行处理;事件总线实现了基于发布-订阅的消息流处理,解决了耦合问题;Akka Streams是基于Reactive Streams的一个实现,它提供的“背压”(Back Pressure)机制用于解决大规模数据处理带来的生产和消费速度不均的问题,并以此实现流控。Akka Streams的内容较多且复杂,大家可以通过本章入门,更多详细的内容请参考官方文档。

第7章和第8章主要介绍了Akka分布式&集群相关的内容,如远程Actor、远程路由、事件监听、集群搭建、集群分片、持久化等,相信大家通过书中的示例,可以很快搭建自己的分布式应用。

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

第10章主要介绍了一款“全家桶式”的微服务框架Lagom,它是基于Akka和Play构建的,提供了一整套微服务解决方案。虽然在Java界已经有了Spring Boot或Spring Cloud这类“既叫好又叫座”的微服务框架,但是大家不妨也看看Lagom,或许能带给你新的思路。