7、复杂度来源:低成本、安全、规模

关于复杂度来源,前面的专栏已经讲了高性能、高可用和可扩展性,今天我来聊聊复杂度另外三个来源低成本、安全和规模。 低成本当我们的架构方案只涉及几台或者十几台服务器时,一般情况下成本并不是我们重点关注的目标,但如果架构方案涉及几百上千甚至上万台服务器,成...

从0开始学架构

8、架构设计三原则

前面几期专栏,我跟你系统的聊了架构设计的主要目的是为了解决软件系统复杂度带来的问题,并分析了复杂度的来源。从今天开始,我会分两期讲讲架构设计的3个原则,以及架构设计原则的案例。 成为架构师是每个程序员的梦想,但并不意味着把编程做好就能够自然而然地成为...

从0开始学架构

9、架构设计原则案例

周二,我给你介绍了架构设计的三条核心原则,先复习一下:合适原则、简单原则和演化原则。我们在架构设计实践中,应该时刻谨记这三条设计原则,指导我们设计出合适的架构,即使是代表中国互联网技术最顶尖水平的BAT,其架构的发展历程也同样遵循这三条原则。 今天我...

从0开始学架构

10、架构设计流程:识别复杂度

从今天开始,我将分4期,结合复杂度来源和架构设计原则,通过一个模拟的设计场景“前浪微博”,和你一起看看在实践中究竟如何进行架构设计。今天先来看架构设计流程第1步:识别复杂度。 架构设计第1步:识别复杂度我在前面讲过,架构设计的本质目的是为了解决软件系...

从0开始学架构

11、架构设计流程:设计备选方案

上一期我讲了架构设计流程第1步识别复杂度,确定了系统面临的主要复杂度问题后,方案设计就有了明确的目标,我们就可以开始真正进行架构方案设计了。今天我来讲讲架构设计流程第2步:设计备选方案,同样还会结合上期“前浪微博”的场景,谈谈消息队列设计备选方案的实...

从0开始学架构

12、架构设计流程:评估和选择备选方案

上一期我讲了设计备选方案,在完成备选方案设计后,如何挑选出最终的方案也是一个很大的挑战,主要原因有: 每个方案都是可行的,如果方案不可行就根本不应该作为备选方案。 没有哪个方案是完美的。例如,A方案有性能的缺点,B方案有成本的缺点,C方案有新技术不...

从0开始学架构
12349