从代码到云的一种理解
偶然翻出很久之前的印象笔记,发现曾经听过百度架构师林士鼎的一席小规模讲座,虽然时间久远但回顾看来也正是那个时候有了想做架构师的最初萌芽,一则笔记分享出来。
分层至关重要
一个大型的系统分层非常重要,以设计一个数据密集型的任务作业最例,最上层的UI到表现层,可以涉及到节流阀,sql like描述的作用,中间层是模型层,负责数据流优化,控制流管理,例如现在最常用的map-reduce模型,最下面是执行层,负责资源分配,优先级,并发控制,隔离,安全等,最终才是我们实实在在的计算资源-机器。这里要说明的是每一层只关心自己的东西,接口明晰,系统扩展和升级够很方便,更有利于构建分布式系统。
架构是什么?
code = 算法 + 数据结构
软件 = code + 架构
软件架构包括:reuse,extensibility
系统架构包括:multiplexing
大规模系统 = 软件 + 分布式架构
云 = 大规模系统 + 数据
架构师成长三部曲
1、how – coding + hardworking 循环
2、why – thinking + reading
3、what