头图


很多开发者在进行软件架构设计时缺乏体系化的思维,只能在试错、总结中不断摸索提升,痛苦而缓慢。而且,这种提升方式容易留下知识盲区。可是这些问题都很难通过源码阅读来补足。
本书是一本体系化的架构书籍,不仅包含理论知识、实践技巧、工程方案,更将这些知识体系化地连接起来,帮助大家建立一个完备的知识体系。

在本书中,我们将从“高性能架构”这一点出发,系统地介绍高性能架构相关的各个方面。
书中涉及很多理论知识,我尽量通过示例使得它们简单易懂;书中有很多架构技巧,我尽量通过总结使得它们清晰明了。在本书的最后,还会以书中的架构体系为依据,开发一套高性能的分布式权限系统。
从理论知识到架构技巧,再到项目实践,本书力求给出一套完整的知识体系,指引大家完成高性能系统的架构设计。
第1章介绍了高性能和架构这两个概念。包括高性能代表的具体指标,架构的具体含义与主要内容。
第2章介绍了分流设计。即如何使用内容分发网络、多地址直连、反向代理等手段将用户的请求分散到不同的系统上,从而降低每个系统的并发数。
第3章介绍了与服务并行相关的设计。首先,介绍了并行与并发的概念。其次,在此基础上介绍了集群系统、分布式系统、微服务系统。包括各类系统的特点、实现难点等。服务并行设计能够进一步将系统内的请求进行分流,从而提升系统性能。
第4章介绍了多进行、多线程、多协程等运算并发手段,并给出了相应的实例。尤其是对常见的多线程进行了深入介绍,包括线程的状态转换、应用场景、使用方法、协作方法等。通过运算并发设计,能够显著提升系统的并发能力。
第5章介绍了输入输出设计。首先介绍了IO的分类维度、层级。然后详细介绍了常见的五种IO模型,包括这些模型之间的演化逻辑,并给出了这些模型的实际使用示例。
第6章介绍了数据库设计与优化手段。从最基本的关系型数据库设计开始,介绍了关系型数据库设计的设计范式、反范式。在此基础上,还介绍了各类索引的原理、使用条件,各类锁的特点,死锁的产生与解除,事务及其隔离级别等。在章节的最后还介绍了面向巨量存储数据时数据库该如何优化,以及一些非传统的数据库和数据库中间件。
第7章介绍了缓存设计的方法和技巧。这一章从缓存的收益说起,推导提升缓存收益的方法。然后在此基础上,给出了提升缓存收益的具体实施手段,包括缓存要素的设计、更新机制的设计、清理机制的设计、风险点的处理、位置的设计等。最后还介绍了写缓存的收益计算和实践方案。
第8章介绍了系统可靠性设计的相关知识。首先,介绍了可靠性的概念与具体的衡量指标。其次,在此基础上介绍了提升系统可靠性的手段。这一章将帮助我们构建高可靠性的系统。
第9章介绍了应用保护的基础知识和实践手段。这些知识和手段能提升应用在突发状况下的工作状况。
第10章介绍了前端高性能的相关知识。这是一个相对独立的一章。首先,分析了前端工作过程中的性能关键点。其次,针对这些关键点给出了前端性能优化的手段。具有较强的概括性和指导性。
第11章介绍了架构设计中架构设计风格和软件生命周期这两个方面的基础知识。这些知识将指导我们体系化地进行软件架构工作。
第12章是一个项目实践。本章以前面各章介绍的高性能架构知识为依据,完整地开展了一个高性能软件系统的架构工作,包括理论推导、模型设计、概要设计、详细设计等各个环节,向读者展示了一个完整的高性能架构过程。本章的内容能帮助读者学会如何在实践中灵活运用前面各章的知识。
本书力求理论联系实践,既给出了高性能架构的相关理论与推导,又给出了具体的实施策略与技巧,还通过项目实践完成了一个高性能软件的架构设计。希望大家在阅读本书后,能够建立高性能架构领域的完整知识体系。


小术晓术
1 声望0 粉丝