本文主要是介绍高性能服务系列【一】序言,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
偷得浮生半日闲,终于有心情把一些思考和经验整理成文字。个人工作经验主要在通讯和金融行业,包括股票、期货和债券。开发语言也以C/C++为主,所以内容也主要集中在这些领域。
我不太喜欢和人动辄高谈阔论系统架构,架构设计本身就是以特定约束和边界为前提的,撇开这些前提,都是在耍流氓。
后续内容将从最基础的硬件开始,到操作系统,到线程、进程,再到网络,顺带磁盘存储。以这些内容为基础,扩展分布式系统。中间穿插讲解一些关键技术的理解。欢迎大家批评和交流。
之所以会从底层往高层讲述,与通常理解的,从上而下不同。是因为底层条件约束是非常重要的考量,往往决定着顶层设计的决策。就像拨号上网时代,是无法想象FPS游戏是什么概念。现在用着万兆网卡,却嫌弃TCP/IP协议栈碍事。
对高性能的理解,一般分为两个维度:延迟和吞吐量。需要重点提示的是,在固定硬件条件下,延迟和吞吐量是成反比的。吞吐量比较好度量,延迟的测量却需要高精度时钟。在windows操作系统中,最高精度100纳秒。linux下,gettimeofday的最高精度是微秒,系统调用本身的损耗有20-30纳秒,rdtsc指令可以有更高精度,这个后面再细说。
这个系列的整体纲要将会按照这样的思路走。
这篇关于高性能服务系列【一】序言的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!