
作者:银文杰
页数:440
出版社:电子工业出版社
出版日期:2017
ISBN:9787121315091
电子书格式:pdf/epub/txt
内容简介
1.《高性能服务系统构建与实战》基于作者10余年工作经历中踩过的技术神坑,总结整理而成。覆盖面广、逻辑性强,是每一个追求卓越的互联网系统架构师案头第一的宝典。
2. 《高性能服务系统构建与实战》分享了构建高性能服务系统的设计理念和实战经验,并引导读者进行场景实战,知识点横跨系统架构领域和软件架构领域,是架构高大上而实操又接地气的不可多得的好书。
3. 《高性能服务系统构建与实战》内容全面、案例丰富、讲解细致又通俗易懂,业内专家邓柯、应恒、肖友能、刘克、张俭、赵勇联袂力荐。
作者简介
银文杰,笔名“说好不能打脸”,博客地址blog.csdn.net/yinwenjie。资深IT屌丝一枚,最大爱好就是敲敲代码,写写博客,研究研究创业热点。CSDN博客作家,CSDN Java EE知识库特约编辑。曾参与电信行业、物流行业多个核心系统建设,对系统顶层设计、技术线路规划、业务系统性能调整有较丰富的经验;也曾有几年头脑发热拍案创业,兼职市场销售、电话客服、公司保安以及清洁大叔。
相关资料
当最次阅读作者的样书后,我就决定把这本书推荐给我的技术团队,不管他们使用的是Java还是PHP进行开发,是一名初级工程师还是一名资深的专家。我本身从事金融行业高性能、高可靠系统设计多年,非常惊喜的看到曾在工作中踩过的多数坑,在本书中都有由浅入深的讲解。
——质数金服 CEO 邓柯
作为一名有10多年工作经验的IT从业者,本人一直希望看到这样一本书,能够将宏观理论与微观操作进行结合,为业内人员提供一个完整复杂业务模型下搭建高性能、高可用性的整体解决方案的书籍,很高兴我今天读到了!
——车上码创始人&CEO 应恒
互联网服务系统的构建和优化,既需要扎实的计算机科学理论基础,又需要丰富的工程实践。本书内容大部分来自作者的日常工作,覆盖面广、逻辑性强,是每一个追求卓越的互联网系统架构师案头必备的宝典。
——亦非云联合创始人&副总裁
肖友能
作为作者多年的同事、好友,当听说他要出书,且是一本汇集自身多年技术经历的实战经验型书籍时,顿觉甚好!子曾说过:“吾生也有涯,而知也无涯”。作为读者,如果可以通过此书加深自己对各种实战技术的理解,改造自己的思维方式,便可实现对“无涯”知识事半功倍地获悉。
——英博格.EBGbot创始人&CEO 刘克
通读本书之后更有相见恨晚之意。本书理论朴实而实战丰富,对如何构建一个健壮的高性能服务系统这个复杂主题作了全面而又通俗易懂的精彩介绍,可谓一气呵成,酣畅淋漓地打通了一名码农快速成长为软件架构师的任督二脉,让码农的人生平添一份仗剑走天涯的快意。
——英博格.EBGbot CSO 张俭
当前全球已经进入了大数据和人工智能时代,而它们所依赖的基础是大规模高性能的分布式系统。本书作者从十多年的实践出发,分享了构建高性能服务系统的设计理念和实战经验,并引导读者进行场景实战,是架构高大上而实操又接地气的不可多得的好书,推荐阅读。
——清数科技创始人&《架构大数据》作者 赵勇
本书特色
影响业务系统性能的因素很多,计算机系统的各个层面都有涉及:从硬件、网络、操作系统、中间件、存储,直到自身代码质量。所有技术团队都曾为解决性能问题、提高性能峰值绞尽脑汁,从千头万绪到生不如死。本书基于作者10 余年工作经历中踩过的技术神坑,总结整理而成。虽然不能将计算机系统各个层面中影响性能的因素全部介绍完,但还是希望通过讨论业务系统负载层、网络通信层解决性能问题的过程,启发读者,为读者在工作中解决性能问题提供借鉴思路。
目录
第1 章 那些年一起踩的坑 ………………………………………………………………………………………….. 2
1.1 性能问题 …………………………………………………………………………………………………………… 2
1.2 可用性问题 ……………………………………………………………………………………………………….. 3
1.3 异常处理问题 ……………………………………………………………………………………………………. 4
1.4 系统间依赖问题 ………………………………………………………………………………………………… 4
1.5 系统雪崩问题 ……………………………………………………………………………………………………. 7
第2 章 业务系统分解 ………………………………………………………………………………………………… 9
2.1 负载层技术 ……………………………………………………………………………………………………… 10
2.2 业务层技术 ……………………………………………………………………………………………………… 12
2.3 存储层技术 ……………………………………………………………………………………………………… 13
第二部分 负载层技术与设计
第3 章 Nginx 技术 …………………………………………………………………………………………………… 16
3.1 Nginx 中的基本技术理论 ………………………………………………………………………………….. 16
3.1.1 一致性Hash 算法 …………………………………………………………………………………………………..16
3.1.2 轮询与加权轮询 …………………………………………………………………………………………………….18
3.2 Nginx 的安装和使用 …………………………………………………………………………………………. 20
3.3 Nginx 的重要配置讲解 ……………………………………………………………………………………… 22
3.4 Nginx 的重要设置 …………………………………………………………………………………………….. 25
3.4.1 use [ kqueue | rtsig | epoll | select | poll ] ……………………………………………………………………..25
3.4.2 worker_processes 和worker_connections …………………………………………………………………..26
3.4.3 max client 的计算方式 …………………………………………………………………………………………….29
3.5 Nginx 的常用模块 …………………………………………………………………………………………….. 30
3.5.1 gzip 压缩模块…………………………………………………………………………………………………………30
3.5.2 rewrite 模块 ……………………………………………………………………………………………………………32
3.5.3 健康检查模块 ………………………………………………………………………………………………………..34
3.5.4 图片动态缩略模块 …………………………………………………………………………………………………37
第4 章 LVS 技术 …………………………………………………………………………………………………….. 41
4.1 网络协议基础知识 …………………………………………………………………………………………… 41
4.1.1 链路层报文 ……………………………………………………………………………………………………………42
4.1.2 网络层IP 报文 ……………………………………………………………………………………………………….42
4.1.3 传输层TCP 报文 ……………………………………………………………………………………………………44
4.2 LVS 的三种工作方式 ……………………………………………………………………………………….. 45
4.2.1 LVS-NAT 工作方式 ……………………………………………………………………………………………….45
4.2.2 LVS-DR 工作方式 ………………………………………………………………………………………………….47
4.2.3 LVS-TUN 工作方式 ……………………………………………………………………………………………….49
4.2.4 LVS 调度方式 ………………………………………………………………………………………………………..52
4.3 LVS 设置实战 ………………………………………………………………………………………………….. 53
4.3.1 LVS-NAT 方式设置 ……………………………………………………………………………………………….53
4.3.2 LVS-DR 模式设置 ………………………………………………………………………………………………….57
4.3.3 ipvsadm 参数汇总 …………………………………………………………………………………………………..60
第5 章 其他负载层技术 ……………………………………………………………………………………………. 63
5.1 DNS 和智能DNS ……………………………………………………………………………………………… 63
5.2 CDN 网络 ………………………………………………………………………………………………………… 65
5.3 Keepalived ……………………………………………………………………………………………………….. 67
5.4 不得不提的Tengine …………………………………………………………………………………………. 68
第6 章 负载层性能实战 ……………………………………………………………………………………………. 69
6.1 负载层技术实战场景 ……………………………………………………………………………………….. 69
6.1.1 负载场景一 ……………………………………………………………………………………………………………69
6.1.2 负载场景二 ……………………………………………………………………………………………………………70
6.1.3 负载场景三 ……………………………………………………………………………………………………………71
6.1.4 负载场景四 ……………………………………………………………………………………………………………72
6.2 方案一:使用Nginx 初步解决性能瓶颈问题 …………………………………………………….. 72
6.3 方案二:使用LVS Keepalived Nginx 增加吞吐量和稳定性 ………………………….. 74
6.4 方案三:使用DNS 和CDN 网络优化整体性能 …………………………………………………. 75
第三部分 系统间通信
第7 章 系统间通信:网络I/O 模型 ……………………………………………………………………………. 78
7.1 模型 ……………………………………………………………………………………………………………….. 78
7.1.1 信息格式 ……………………………………………………………………………………………………………….79
7.1.2 网络协议 ……………………………………………………………………………………………………………….80
7.1.3 通信方式/框架 …………………………………………………………………………………















