读架构设计有感

读架构设计有感,以下是架构设计的读书笔记,这本书读的比较早了,大概在4年前首次阅读,最近再次复读,结合自己的经历有感而发。记录如下:其实软件设计】或者应用系统建设,首先要做的就是架构设计,架构设计是个系统工程,需要全局考虑的同时,也要考虑局部关系和组织方式,同时问题不同,侧重点也不同,处于不同阶段,采取的设计也不同,没有一个放之四海而皆准的万能架构,这一点在架构设计的原则中有体现,只要合适、简洁并不断演进就是当时最好的架构方式,目的是为了解决当时的业务问题,比如我们能源行业的数据交换或转换问题、安全问题、多系统协作问题、海量数据处理和计算问题、前后端可视化显示效率问题、多端交互问题等等。在架构设计流程章节,作者也给出了四项设计原则和架构师经常遇到的问题与解决对策等等。后面几章就是分开介绍高性能、高可用、可扩展等场景下的架构如何设计的实践;最后,结合现有的传统行业和互联网其他,总结了消息队列、互联网架构演进和互联网场景的架构实践模板,以及相关的开源架构方案介绍。希望对大家有所推荐和帮助。

一.架构基础

1.系统泛指由一群有关联的个体组成,根据某种规则运作,能完成个别元件不能单独完成的工作的群体。它的意思是“总体”“整体”或“联盟”。

2.子系统也是由一群有关联的个体所组成的系统,多半是更大系统中的一部分

3.软件模块( Module)是一一致而互相紧密关联的软件组织,它分别包含了程序和数据结构两部分。

4.软件组件定义为自包含的、可编程的、可重用的、与语言无关的软件单元,软件组件可以很容易被用于组装应用程序中。

5.软件框架( Software Framework),通常指的是为了实现某个业界标准或完成特定基本任务的敏件组件规范也指为了实现某个软件组件规范时,提供规范所要求之基础功能的软件产品。

6.软件架构指软件系统的顶层结构。

7.同一软件系统从不同的角度进行分解,会得到不同的架构。

8.架构设计的主要目的是为了解决软件系统复杂度带来的问题。

9.主要的软件系统复杂度有高性能、高可用、可扩展、低成本、安全、规模几种。

二.架构设计原则

架构设计原则1:合适原则,合适的架构优于业界领先的架构:真正优秀的架构都是在企业当前人力、条件、业务等各种约束下设计出来的,能够合理地将资源整合在一起并发挥出最大功效,并且能够快速落地

架构设计原则2:简单原则,简单的架构优于复杂的架构:软件领域的复杂性体现在两方面:结构的复杂性和逻辑的复杂性

架构设计原则3:演化原则,架构需要随着业务的发展而不断演化:对于建筑来说,永恒是主题;而对于软件来说,变化才是主题。软件架构设计类似于生物演化或进化。

三.架构设计流程

1.设计架构的时候,首先要分析出系统的复杂性。

2.架构师根据自己对业务的理解,挑选合适的架构模式进行组合,再对组合后的方案进行修改和调整。

3.新技术都是在现有技术的基础上发展起来的,现有技术又来源于先前的技术。

3.备选方案的数量以3~5个备选方案为最佳。

4.备选方案的差异要比较明显。

5.备选方案的技术不要只局限于已经熟悉的技术。

6.通过360度环评的方式来评估备选方案。

7.按照质量属性(比如性能,复杂性,成本,扩展性,可用性等)的优先级来判断备选方案的优劣。

8.架构师需要对技术的细节和原理有较深入的理解,避免成为“PPT架构师”。

9.通过分步骤、分阶段、分系统等方式,尽量降低方案复杂度。

10.采取设计团队的方式来进行设计,可以博采众长,汇集团队经验,减少思维和经验盲区。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一望无际的大草原

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值