架构设计是怎样的
概念
- 软件架构是指软件系统的顶层结构
- 架构设计目的是为了
解决软件的复杂度
如何合理的设计架构
- 不要盲目模仿,根据自身的实际情况选择合适的架构
- 可能大厂的架构设计确实厉害,但是是建立在别人有庞大的应用服务和流量的情况下
- 洞悉参考架构的解决的痛点(复杂点),再对比自身业务的痛点,针对性的分析
- 做好取舍
- 高性能、可用、扩展不一定全部都要实现,因为还架构设计不只要考虑性能、可用、扩展,还要考虑人员、能力、时间、投入等因素
- 没必要面面俱到,找到复杂点,再针对性的解决问题
遵循三原则
- 合适原则:合适由于业界领先,阿里再牛,你用它的架构做一个小程序合适吗?
- 简单原则:简单优于复杂,简单的程序设计和架构设计,更有利于拓展工作和改造工作
- 演化原则:软件架构和程序和建房子不同,改动大,不需要推倒重来,可以渐进演化
作者的话
- 思维转变
- 架构的关键思维是判断和取舍
- 程序设计的关键思维是逻辑和实现
- 成长历程
- 架构设计没有专门的课程和培训,所以只能慢慢摸索,效率低
- 对架构设计的偏见
- 架构师不一定要有很强的技术天分、创造力,架构设计不一定高大上,架构不一定要高可用,高性能
本书的主要内容
- 架构基础:介绍架构设计的本质、历史背景和目的,再从复杂度来源,以及架构设计的原则和流程来详细介绍架构基础
- 高性能架构模式:从存储高性能、计算高性能方面介绍几种设计方案的典型特征和应用场景。
- 高可用架构模式:介绍CAP原理、FMEA分析方法,分析常见的高可用存储架构和高可用计算架构,并给出一些设计方法和技巧
- 可扩展架构模式:介绍可扩展模式及其基本思想,分析一些常见的架构模式
- 架构实战:理论和案例结合,落地前面提到的架构原则、架构流程】架构模式