System design 这一章可以说全书应用工程思维应用与传统网络设计的一个先导和全景描述。 我一直以来一直认为,研究未来网络的体系结构抑或是是SDN还是NFV能给现有的网络带来哪些收益的问题 ,一定有一个前提是我们对于传统网络有一个比较深刻的认识,这个认识不能简单停留在了解几个常见路由和传输层协议的流程,了解一下报文格式,会配置就好。或者学术一点,看着最新的论文关于TCP协议的各种改良在那闭门造车,诚然后者是发论文的捷径。 但是网络归根结底来自于工程,来自于协议栈 ,所以我第一步去研读这本书。诚然,他对算法的描述远低于 网络算法一书,工程细节也不如TCP/IP 详解第二卷,理论更是远远赶不上那些排队网络的著作,但是一个从设计出发的视角来看传统网络的各种tradeoff,其实是很有益的。
回到正题,什么是系统设计? System design is the art and science of putting together these resources into a harmonious whole. The goal is to maximize a set of performance metrics given a set of resource constraints. 作者在书中列出了最常见的几个资源 :时间,空间,计算,成本和人力。 另外,还有两个约束被认为很重要,但很难量化的 市场约束(标准化,市场需求,版本兼容性等)以及可扩展性。
这章最有价值的是作者列举了一些列基本的系统优化的方法,几乎也概括了我之前论文和研究中所用的所有方法。这里列出来做一个总结和记录。