图书介绍
高性能服务系统构建与实战PDF|Epub|txt|kindle电子书版本网盘下载
![高性能服务系统构建与实战](https://www.shukui.net/cover/57/30483283.jpg)
- 银文杰编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121315091
- 出版时间:2017
- 标注页数:428页
- 文件大小:283MB
- 文件页数:441页
- 主题词:软件设计
PDF下载
下载说明
高性能服务系统构建与实战PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 前序2
第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
第二部分 负载层技术与设计16
第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_connections26
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和智能DNS63
5.2 CDN网络65
5.3 Keepalived67
5.4 不得不提的Tengine68
第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
第三部分 系统间通信78
第7章 系统间通信:网络I/O模型78
7.1 模型78
7.1.1 信息格式79
7.1.2 网络协议80
7.1.3 通信方式/框架82
7.2 网络I/O模型:阻塞模式82
7.2.1 通信模型概要82
7.2.2 阻塞模式深入分析87
7.2.3 问题的根源91
7.3 网络I/O模型:同步非阻塞模式——对阻塞模式的改进93
7.3.1 首次改进97
7.3.2 再次改进99
7.3.3 依然存在问题101
7.4 网络I/O模型:多路复用(I/O Multiplex)101
7.4.1 典型的多路复用I/O实现102
7.4.2 Java对多路复用I/O技术的支持103
7.4.3 Java NIO框架简要设计分析112
7.4.4 Java实例改进114
7.4.5 多路复用I/O的优缺点118
7.5 网络I/O模型:异步I/O119
7.5.1 Java对AIO的支持120
7.5.2 Java提供的AIO支持示例122
7.5.3 还有改进可能128
7.6 第三方组件:Netty128
7.6.1 为什么需要Netty129
7.6.2 Netty快速上手130
7.6.3 Netty中的重要概念135
7.7 再次审视Netty的作用141
7.7.1 对网络I/O模型的封装142
7.7.2 对数据信息格式的封装143
7.7.3 解决了“技术层”框架中的技术问题146
7.7.4 解决半包问题和粘包问题148
7.8 不得不提的线程池152
7.8.1 为什么要使用线程池152
7.8.2 线程池基本使用155
7.8.3 ThreadPoolExecutor逻辑结构和工作方式156
7.8.4 线程池的等待队列159
7.8.5 拒绝任务165
7.8.6 ThreadPoolExecutor中常用属性总结168
第8章 RPC与系统间调用170
8.1 RPC技术原理170
8.1.1 什么是RPC170
8.1.2 RPC要素171
8.1.3 更泛化的RPC定义173
8.1.4 典型的RPC框架介绍174
8.1.5 RPC框架的性能依据175
8.2 RPC实践:Apache Thrift基本使用176
8.2.1 IDL格式概要177
8.2.2 简单的Apache Thrift代码181
8.3 RPC实践:Apache Thrift深入分析185
8.3.1 Apache Thrift与消息格式185
8.3.2 Apache Thrift与通信模型190
8.3.3 Apache Thrift与线程池193
8.4 RPC实践:解决异常问题193
8.4.1 分布式业务的异常解决思路195
8.4.2 事务补偿的简单实现201
8.5 SOA和服务治理224
8.5.1 SOA概述225
8.5.2 ESB概述227
8.5.3 常见的ESB产品229
8.5.4 服务治理框架231
第9章 系统间通信:消息队列技术237
9.1 消息队列原理237
9.1.1 消息237
9.1.2 服务结构238
9.2 消息协议238
9.2.1 XMPP协议239
9.2.2 Stomp协议241
9.2.3 MQTT协议244
9.2.4 AMQP协议248
9.2.5 不得不提的JMS规范251
9.3 MQ实践:ActiveMQ基本概念和使用253
9.3.1 ActiveMQ的简易安装过程253
9.3.2 ActiveMQ的其他命令参数255
9.3.3 在ActiveMQ中传递Stomp消息256
9.3.4 ActiveMQ中的Queue和Topics258
9.3.5 JMS和协议间转换260
9.3.6 持久化消息和非持久化消息266
9.3.7 持续订阅和非持续订阅267
9.4 MQ实践:ActiveMQ性能优化267
9.4.1 ActiveMQ性能优化思路267
9.4.2 ActiveMQ中的网络配置268
9.4.3 ActiveMQ处理规则和优化273
9.4.4 ActiveMQ的持久消息存储方案285
9.5 MQ实践:ActiveMQ集群方案299
9.5.1 ActiveMQ高性能方案300
9.5.2 ActiveMQ高可用方案311
9.6 其他MQ技术:Apache Kafka321
9.6.1 Kafka设计概要321
9.6.2 Kafka集群安装:配置过程333
9.6.3 Kafka常用命令336
第四部分 场景实战340
第10章 场景实战:其他储备知识340
10.1 数据存储340
10.1.1 块存储341
10.1.2 共享存储/共享文件存储343
10.1.3 对象存储系统344
10.2 磁盘阵列系统345
10.2.1 RAID 0346
10.2.2 RAID 1347
10.2.3 RAID 10和RAID 01348
10.2.4 RAID 5349
10.3 NoSQL技术351
第11章 场景实战:Kafka与日志采集355
11.1 Kafka应用场景:场景说明355
11.2 Kafka应用场景一:侵入式方案357
11.2.1 设计重点358
11.2.2 编码过程:生产者和业务系统集成361
11.2.3 是否使用Spring Integration-Kafka366
11.2.4 编码过程:消费者端367
11.3 Kafka应用场景二:调整侵入式方案371
11.3.1 方案一的问题所在371
11.3.2 方案二的解决思路371
11.3.3 方案二的主要代码示例377
11.3.4 其他设计思考380
11.3.5 百度站长统计工具382
11.4 Kafka应用场景三:非侵入式方案383
11.4.1 Apache Flume介绍383
11.4.2 设计方案384
11.4.3 配置过程概要386
11.4.4 方案三细节说明388
第12章 场景实战:图片服务392
12.1 需求场景392
12.2 概要设计阶段393
12.2.1 分布式文件系统选型394
12.2.2 缓存系统选型395
12.2.3 路由层选型397
12.2.4 架构设计细化400
12.2.5 其他技术选型401
12.3 关键技术点考量403
12.3.1 责任链模式403
12.3.2 Redis中的数据结构选择404
12.3.3 使用Spring Boot406
12.3.4 其他技术特性408
12.4 详细设计阶段412
12.4.1 位图基本知识412
12.4.2 Nginx中的Proxy Cache配置418
12.4.3 责任链进行图片处理420
12.4.4 Redis缓存操作423