架构基础:从需求到架构
上QQ阅读APP看书,第一时间看更新

前言

为什么要写这本书?

在长时间的管理和培训工作中,笔者发现越来越多的开发人员技术能力很强,但是设计能力不足,往往面对一个需求无从下手,更多地要依靠设计人员的设计才能比较清晰地进行开发,或者过多地专注于技术细节而忽略了整体设计。

有些开发人员长时间从事重复的增删改查工作,对整个系统的架构设计并不熟悉,个人的成长更多地在技术的深入及编码的熟练程度上,没有养成思考的习惯,缺乏设计思维和架构思维,个人能力缺少多维度的发展。

笔者一直想找一本专门讲解系统架构设计、场景设计,提升个人架构思维和设计能力的书,然而市面上大多是纯技术类书籍,笔者苦苦搜寻却没有找到,因此决定自己写一本,以自己的项目经验、设计经验作为基础,以各种场景设计为切入点,让每一个开发人员都能了解架构设计、学会架构设计、培养设计思维和架构思维,不再做一个只会重复劳动的开发者。

每一个程序员都具有成为架构师的潜质,但是需要自我规划、自我学习。希望这本书能帮助每一个读者找到架构设计的感觉,在工作中不断实践,成为一名真正合格的系统架构师。

本书特色

(1)本书不涉及任何具体的编程语言。

(2)本书采用大量的架构图、流程图、状态图、时序图等来图解企业级架构,更加清晰直观。

(3)每个章节都以场景化案例进行剖析,从需求、问题、解决方案、原理、设计方法、落地方案等多个角度,给出架构设计方法。

(4)本书以大型互联网架构设计的原则为切入点,对高可用、高伸缩、高并发、安全性的架构方案、原理、技术进行讲解;对单体架构、集群架构、SOA架构、微服务架构的特点进行对比分析。

(5)本书内容涵盖登录功能架构设计、用户安全架构设计、系统日志架构设计、系统攻防架构设计、系统消息架构设计、监控预警架构设计、关系型大数据架构设计、批处理调度架构设计、系统配置架构设计,共九大章节,详细讲解各种场景的架构设计方案。

(6)可以根据本书目录查找对应的场景设计,参考应用在企业系统建设中。

(7)以阿里云/腾讯云消息系统、支付宝/微信支付系统、鹰眼业务监控系统、监管批量信息报送系统作为实战案例,详细讲解架构设计过程,对核心功能、设计、数据结构加以分析,巩固读者的架构思维和设计能力。

读者对象

(1)没有做过系统设计、架构设计的零基础开发人员。

(2)具有一定开发基础、项目经验的开发人员。

(3)系统设计师、分析师、架构师、项目经理、产品经理、Team Leader。

(4)需要系统化提升自己的设计思维、设计能力的开发人员。

(5)希望转型设计师、项目经理、架构师的开发人员。

读者交流

对于架构设计而言,100个人会有100种设计方法,架构设计并不存在绝对的正确,而只存在相对的合理性。

由于笔者能力有限,书中难免存在疏漏之处,欢迎读者批评指正,读者可以添加笔者个人微信(xitongjiagoushi)进行交流,也可以添加笔者微信公众号(yhl-kevin)获取更多学习资源。