前言
为何写作本书
目前市面上有很多分布式架构的书,其中很多都是讲述分布式的某项技术栈,缺少对整个分布式系统的讲解。笔者在分布式领域从业多年,对分布式领域诸多技术栈了解颇深,因此想把心得分享出来,从多个方面去呈现分布式系统架构的多样性和完整性。
本书主要特点
本书从技术原理、高并发、性能优化的角度出发,对分布式环境中因应用场景复杂多变产生的问题,从多种技术层面进行分析,并给出高性能的优化方案和高可用的架构方案。通过本书,读者在实际工作中可以整体提高分布式环境中应用的稳定性。
书中融入了对分布式领域中多种主流技术栈的介绍,能让读者全方位了解关于分布式系统架构的知识。
本书阅读对象
本书是一本关于分布式系统架构的技术型书,适合的阅读对象如下。
- 对分布式、分布式全栈中使用的技术栈感兴趣的读者。
- 基础偏弱,想通过学习分布式全栈中的概念、设计思想以加深对分布式理解的技术人员。
- 基础偏强,想深刻理解并灵活运用分布式全栈中的设计思想、优化方案的技术人员。
如何阅读本书
本书根据分布式环境交互的顺序来构造和安排内容,建议按照目录的顺序依次阅读。全书一共10章,具体如下。
- 第1章 主要介绍分布式的发展过程、分布式架构、分布式架构技术设计难点以及互联网中技术在分布式下的使用。
- 第2章 主要介绍分布式环境下前后端交互发展过程、交互难点和高效交互调优。
- 第3章 主要介绍分布式环境中网络传输的过程、难点、性能调优。
- 第4章 主要介绍Nginx的负载均衡、页面缓存、限流、高可用、性能调优。
- 第5章 主要介绍Varnish的HTTP加速、缓存策略、高可用、性能调优。
- 第6章 主要介绍Tomcat的原理、加载机制、安全管理、高可用集群、性能调优。
- 第7章 主要介绍分布式环境中高并发的问题,通过多种技术方案,如缓存、消息队列、分布式锁等去优化处理,以提高系统整体的吞吐量。
- 第8章 主要介绍普通事务与分布式事务的差异性,以及对分布式事务的多种处理方式,本章会通过多个案例并结合代码进行分析。
- 第9章 主要介绍MySQL数据库的特性,即如何通过高效索引优化、高可用的技术方案让MySQL提供更高效的数据库服务。
- 第10章 主要介绍分布式环境中高可用的相关内容,即如何通过容量预估、全链路压测、容灾设计来提高系统整体的可用性和健壮性。
勘误
由于水平有限,加之编写时间仓促,本书中可能会出现一些错误和表述不准确的地方,希望读者朋友批评指正。大家可以通过CSDN博客专栏(https://blog.csdn.net/qaz7225277/category_9290006.html)留言反馈,期待得到你们的反馈和建议。
致谢
首先要感谢《RocketMQ技术内幕》的作者丁威对我的指导,为我的职业发展提供的诸多帮助。
感谢分布式领域与我探讨技术的朋友们,他们是姜伟、丁威、张登、沈尚伟、张瑾、孙凯、武万祥、黄正云、万振崎、张磊、谢书愉、王义武以及线下交流过的每位朋友,感谢他们对我的支持和帮助。感谢张瑾的引荐,感谢范文嵩的指点,感谢名锋的分享,是他们的努力和付出为我指明了前进的方向。
感谢机械工业出版社华章公司的杨福川老师,他在这一年多的时间中支持我的写作,并与我分享写书的经验。他的支持和鼓励让我坚持写作。感谢机械工业出版社华章公司的李艺老师、李杨老师,她们在我写作这一年多的时间中提供了诸多帮助,引导我顺利完成全部书稿。
最后感谢我的爸爸、妈妈、外婆将我培养成人,给予我莫大的关心和支持。感谢我的妻子、儿子,他们是我前进的最大动力。