58__性能设计篇之“缓存”

前面分享了《分布式系统设计模式》系列文章的前两部分——弹力设计篇和管理设计篇。今天开始这一系列的最后一部分内容——性能设计篇,主题为《性能设计篇之“缓存”》。

58_三人行:前辈、平辈与后辈

成长的路上,有时会陷入停顿,感到迷茫,就像前行的一辆车陷在了泥地里,不管你怎么加油踩油门,它只是在原地打转而无法继续前行。这时,你就需要有人来帮助,或推或拉或扶。而从广义的角度看,总会有三类人在身边,你未必是独行。

59__少谈点框架,多谈点业务

你好,我是七牛云许式伟。

架构是共识确认的过程

对于架构这件事情,有不少让人误解的地方。前面在“57 | 心性:架构师的修炼之道”一讲中,我们提到过架构师需要掌握的三大技能:

59__数据中心操作系统:上市敲钟

在这门课程里面,我们说了,在内核态有很多的模块,可以帮助我们管理硬件设备,最重要的四种硬件资源是 CPU、内存、存储和网络。

最初使用汇编语言的前辈,在程序中需要指定使用的硬件资源,例如,指定使用哪个寄存器、放在内存的哪个位置、写入或者读取那个串口等等。对于这些资源的使用,需要程序员自己心里非常地清楚,要不然一旦 jump 错了位置,程序就无法运行。

59__性能设计篇之“异步处理”

在弹力设计篇中我们讲过,异步通讯的设计模式有助于提高系统的稳定性和容错能力。其实,异步通讯在分布式系统中还可以增加整个系统的吞吐量,从而可以面对更高的并发,并可以从容地利用好现有的系统资源。为什么这么说呢?

59_三角色:程序员、技术主管与架构师

还记得开篇词中我画了一个程序员的成长路径图,其中在图的左侧部分展示了程序员成长路径上一些主要阶段的定义,在我们从初级走向资深的过程中,会面临一条支路,在这条路上不仅普遍称呼的名称不同了,工作内容可能也发生了变化,角色的转换会带来不少的困惑。

这条路就是从“程序员”到“技术主管”再到“架构师”的路径,下面我们就来看看这条路径上的三个角色有何不同?

程序员与寻路

当我刚进入软件行业成为一名程序员时,我的理想就是成为一名架构师。

60__架构分解:边界,不断重新审视边界

你好,我是七牛云许式伟。

在上一讲“59 | 少谈点框架,多谈点业务”中,我们强调:

架构就是业务的正交分解。每个模块都有它自己的业务。

这里我们说的模块是一种泛指,它包括:函数、类、接口、包、子系统、网络服务程序、桌面程序等等。