随笔分类 -  【21】【架构】

摘要:【架构】架构设计的三原则前面系统地聊了架构设计的主要目的,是为了解决软件系统复杂度带来的问题,并分析了复杂度的来源。这篇文章着重讲讲架构设计的三个原则,以及架构设计原则的案例。 成为架构师是每个程序员的梦想,但并不意味着把编程做好就能够自然而然地成为一个架构师,优秀程序员和架构师之间还有一个明显的鸿沟需要跨越,这个鸿沟就是 阅读全文
posted @ 2022-11-11 11:35 悠扬的牧笛 阅读(262) 评论(0) 推荐(0) 编辑
摘要:【架构】架构复杂度来源之低成本、安全与规模低成本 当架构方案只涉及几台或者十几台服务器时,一般情况下成本并不是我们重点关注的目标,但如果架构方案涉及几百上千甚至上万台服务器,成本就会变成一个非常重要的架构设计考虑点。例如,A 方案需要 10000 台机器,B 方案只需要 8000 台机器,单从比例来看,也就节省了 20% 的成本,但从数量来 阅读全文
posted @ 2022-11-09 15:19 悠扬的牧笛 阅读(220) 评论(0) 推荐(0) 编辑
摘要:【架构】架构复杂度来源之扩展性复杂度来源前面已经讲了高性能和高可用,今天来聊聊可扩展性。 「可扩展性」指系统为了应对将来需求变化而提供的一种扩展能力,当有新的需求出现时,系统不需要或者仅需要少量修改就可以支持,无须整个系统重构或者重建。 由于软件系统固有的多变性,新的需求总会不断被提出来,因此可扩展性显得尤其重要。在软件开发领域 阅读全文
posted @ 2022-11-04 23:10 悠扬的牧笛 阅读(132) 评论(0) 推荐(0) 编辑
摘要:【架构】架构复杂度来源之高可用先来看看维基百科对高可用的定义。 系统无中断地执行其功能的能力,代表系统的可用性程度,是进行系统设计的准则之一。 这个定义的关键在于「无中断」,但恰好难点也在「无中断」上面,因为无论是单个硬件还是单个软件,都不可能做到无中断,硬件会出故障,软件会有bug;硬件会逐渐老化,软件会越来越复杂和庞大…… 阅读全文
posted @ 2022-11-04 11:05 悠扬的牧笛 阅读(77) 评论(0) 推荐(0) 编辑
摘要:【架构】架构复杂度来源之高性能在上一篇架构设计的主要目的文章中分析了架构设计是为了解决软件系统复杂度带来的问题。本篇文章开始将深入分析复杂度的6个来源,先来聊聊复杂度的来源之一「高性能」。 对性能孜孜不倦的追求是整个人类技术不断发展的根本驱动力。例如计算机,从电子管计算机到晶体管计算机再到集成电路计算机,运算性能从每秒几次提升到 阅读全文
posted @ 2022-11-03 09:48 悠扬的牧笛 阅读(119) 评论(0) 推荐(0) 编辑
摘要:【架构】架构设计的目的在上一篇架构设计的历史背景一文中,我们聊了架构出现的历史背景和推动因素。以史为鉴,对我们了解架构设计的目的很有帮助。谈到架构设计,相信每个技术人员都是耳熟能详,但如果深入探讨一下,「为何要做架构设计?」或者「架构设计目的是什么?」之类的问题,大部分人可能从来没有思考过,或者即使有思考,也没有太明确可 阅读全文
posted @ 2022-11-02 21:43 悠扬的牧笛 阅读(118) 评论(0) 推荐(0) 编辑
摘要:【架构】架构设计的历史背景理解了架构的有关概念和定义之后,再讲讲架构设计的历史背景。我认为,如果想要深入理解一个事物的本质,最好的方式就是去追寻这个事物出现的历史背景和推动因素。我们先来简单梳理一下软件开发进化的历史,探索一下软件架构出现的历史背景。 机器语言(1940年之前) 最早的软件开发使用的是「机器语言」,直接使用二 阅读全文
posted @ 2022-11-01 18:03 悠扬的牧笛 阅读(177) 评论(0) 推荐(0) 编辑
摘要:【架构】架构到底是什么对于技术人员来说,「架构」是一个再常见不过的词了。我们会对新员工培训整个系统的架构,参加架构设计评审,学习业界开源系统(例如,MySQL、Hadoop)的架构,研究大公司的架构实现,例如,微信架构、淘宝架构……虽然「架构」这个词常见,但如果深究一下「架构」到底指什么,大部分人也许并不一定能够准确地回 阅读全文
posted @ 2022-11-01 14:54 悠扬的牧笛 阅读(632) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示