第二部分 微言大义

这本书的第一部分综述了反应式系统的价值。你看到了对用户输入总是保持回弹性和可伸缩性的需要,从而即使在失败和不同负载的情况下也能保持即时响应性。在我们探索这些可取的属性过程中,你得出了需要使用消息驱动来作为底层实现的必要性。

第二部分对反应式的 4 个特质进行了补充说明:提出了一组构建反应式架构的构建块。这一部分的重点是如何做到反应式,而第一部分则描述了我们要实现的目标及缘由。在这一部分所讨论的指导原则,以及我们在第3章中所介绍的行业工具,一起构成了第三部分中多种模式的基础。

我们决定以一种连贯、凝聚的方式组织这些材料,以便你在构建反应式应用程序的过程中,推敲你自己的模式设计时,本书可以方便地作为一个紧凑的参考。作为一个完整的反应式架构的360度全景,这一部分涵盖了大量的基础理论。你可能想要先阅读第4章,然后略读这一部分的其余章节,并在你研究这本书第三部分中所介绍的相应模式时,再回过头来细细研读这部分中的对应章节。

在这一部分中,你将学习到:

  • 通过显式的异步消息传递来使得封装和隔离成为可能;
  • 通过位置透明性,提高组合能力,并添加水平扩展能力;
  • 应用分而治之(divide et regna),以层级化模块的形式组织系统;
  • 这个层级结构如何使得原则化的失败处理成为可能;
  • 在分布式系统中实现足够一致的程序语义;
  • 尽可能地避免不确定性,并在必要时添加;
  • 使用基于消息流的拓扑指导反应式应用程序设计。