图书介绍
分布式服务架构 原理、设计与实战PDF|Epub|txt|kindle电子书版本网盘下载
![分布式服务架构 原理、设计与实战](https://www.shukui.net/cover/57/30414129.jpg)
- 李艳鹏,杨彪著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121315787
- 出版时间:2017
- 标注页数:422页
- 文件大小:83MB
- 文件页数:442页
- 主题词:互联网络-网络服务器
PDF下载
下载说明
分布式服务架构 原理、设计与实战PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 分布式微服务架构设计原理1
1.1 从传统单体架构到服务化架构2
1.1.1 JEE架构2
1.1.2 SSH架构5
1.1.3 服务化架构8
1.2 从服务化到微服务11
1.2.1 微服务架构的产生12
1.2.2 微服务架构与传统单体架构的对比13
1.2.3 微服务架构与SOA服务化的对比15
1.3 微服务架构的核心要点和实现原理16
1.3.1 微服务架构中职能团队的划分16
1.3.2 微服务的去中心化治理18
1.3.3 微服务的交互模式18
1.3.4 微服务的分解和组合模式22
1.3.5 微服务的容错模式35
1.3.6 微服务的粒度41
1.4 Java平台微服务架构的项目组织形式42
1.4.1 微服务项目的依赖关系42
1.4.2 微服务项目的层级结构43
1.4.3 微服务项目的持续发布45
1.5 服务化管理和治理框架的技术选型45
1.5.1 RPC46
1.5.2 服务化47
1.5.3 微服务49
1.6 本章小结52
第2章 彻底解决分布式系统一致性的问题54
2.1 什么是一致性55
2.2 一致性问题56
2.3 解决一致性问题的模式和思路57
2.3.1 酸碱平衡理论58
2.3.2 分布式一致性协议61
2.3.3 保证最终一致性的模式67
2.4 超时处理模式75
2.4.1 微服务的交互模式76
2.4.2 同步与异步的抉择77
2.4.3 交互模式下超时问题的解决方案78
2.4.4 超时补偿的原则85
2.5 迁移开关的设计87
2.6 本章小结88
第3章 服务化系统容量评估和性能保障89
3.1 架构设计与非功能质量90
3.2 全面的非功能质量需求91
3.2.1 非功能质量需求的概述91
3.2.2 非功能质量需求的具体指标92
3.3 典型的技术评审提纲97
3.3.1 现状97
3.3.2 需求98
3.3.3 方案描述98
3.3.4 方案对比99
3.3.5 风险评估100
3.3.6 工作量评估100
3.4 性能和容量评估经典案例100
3.4.1 背景100
3.4.2 目标数据量级101
3.4.3 量级评估标准101
3.4.4 方案102
3.4.5 小结107
3.5 性能评估参考标准108
3.5.1 常用的应用层性能指标参考标准108
3.5.2 常用的系统层性能指标参考标准109
3.6 性能测试方案的设计和最佳实践112
3.6.1 明确压测目标112
3.6.2 压测场景设计和压测方案制定114
3.6.3 准备压测环境121
3.6.4 压测的执行122
3.6.5 问题修复和系统优化123
3.7 有用的压测工具123
3.7.1 ab123
3.7.2 jmeter125
3.7.3 mysqlslap125
3.7.4 sysbench129
3.7.5 dd134
3.7.6 LoadRunner135
3.7.7 hprof136
3.8 本章小结138
第4章 大数据日志系统的构建140
4.1 开源日志框架的原理分析与应用实践142
4.1.1 JDK Logger142
4.1.2 Apache Commons Logging143
4.1.3 Apache Log4j147
4.1.4 Slf4j156
4.1.5 Logback160
4.1.6 Apache Log4j2164
4.2 日志系统的优化和最佳实践168
4.2.1 开发人员的日志意识168
4.2.2 日志级别的设置168
4.2.3 日志的数量和大小169
4.2.4 切割方式170
4.2.5 日志格式的配置170
4.2.6 一行日志导致的线上事故177
4.3 大数据日志系统的原理与设计178
4.3.1 通用架构和设计179
4.3.2 日志采集器180
4.3.3 日志缓冲队列186
4.3.4 日志解析器187
4.3.5 日志存储和搜索187
4.3.6 日志展示系统188
4.3.7 监控和报警188
4.3.8 日志系统的容量和性能评估188
4.4 ELK系统的构建与使用190
4.4.1 Elasticsearch191
4.4.2 Logstash193
4.4.3 Kibana196
4.5 本章小结198
第5章 基于调用链的服务治理系统的设计与实现199
5.1 APM系统简介200
5.1.1 优秀的开源APM系统200
5.1.2 国内商业APM产品的介绍202
5.2 调用链跟踪的原理203
5.2.1 分布式系统的远程调用过程204
5.2.2 TraceID207
5.2.3 SpanID208
5.2.4 业务链210
5.3 调用链跟踪系统的设计与实现211
5.3.1 整体架构211
5.3.2 TraceID和SpanID在服务间的传递213
5.3.3 采集器的设计与实现217
5.3.4 处理器的设计与实现222
5.3.5 调用链系统的展示225
5.4 本章小结226
第6章 Java服务的线上应急和技术攻关227
6.1 海恩法则和墨菲定律227
6.2 线上应急的目标、原则和方法229
6.2.1 应急目标229
6.2.2 应急原则229
6.2.3 线上应急的方法和流程230
6.3 技术攻关的方法论233
6.4 环境搭建和示例服务启动236
6.5 高效的服务化治理脚本240
6.5.1 show-busiest-java-threads240
6.5.2 find-in-jar243
6.5.3 grep-in-jar244
6.5.4 jar-conflict-detect245
6.5.5 http-spy247
6.5.6 show-mysql-qps248
6.5.7 小结249
6.6 JVM提供的监控命令249
6.6.1 jad249
6.6.2 btrace250
6.6.3 jmap252
6.6.4 jstat255
6.6.5 jstack256
6.6.6 jinfo258
6.6.7 其他命令258
6.6.8 小结259
6.7 重要的Linux基础命令260
6.7.1 必不可少的基础命令和工具260
6.7.2 查看活动进程的命令268
6.7.3 窥探内存的命令270
6.7.4 针对CPU使用情况的监控命令272
6.7.5 监控磁盘I/O的命令273
6.7.6 查看网络信息和网络监控命令275
6.7.7 Linux系统的高级工具287
6.7.8 /proc文件系统288
6.7.9 摘要命令288
6.7.10 小结290
6.8 现实中的应急和攻关案例291
6.8.1 一次OOM事故的分析和定位291
6.8.2 一次CPU 100%的线上事故排查301
6.9 本章小结304
第7章 服务的容器化过程306
7.1 容器vs虚拟机306
7.1.1 什么是虚拟机306
7.1.2 什么是容器306
7.1.3 容器和虚拟机的区别307
7.1.4 容器主要解决的问题307
7.1.5 Docker的优势310
7.2 Docker实战311
7.2.1 Docker的架构311
7.2.2 Docker的安装315
7.2.3 Docker初体验319
7.2.4 Docker后台服务的管理322
7.2.5 Docker的客户端命令328
7.2.6 Docker Compose编排工具的使用372
7.3 容器化项目379
7.3.1 传统的应用部署380
7.3.2 将应用程序部署在虚拟机上380
7.3.3 容器化部署应用381
7.3.4 Docker实现的应用容器化示例382
7.4 本章小结384
第8章 敏捷开发2.0的自动化工具385
8.1 什么是敏捷开发2.0385
8.1.1 常用的4种开发模式385
8.1.2 什么是DevOps390
8.1.3 敏捷开发2.0解决的问题392
8.2 敏捷开发的自动化流程393
8.2.1 持续集成393
8.2.2 持续交付和持续部署397
8.3 敏捷开发的常用自动化工具400
8.3.1 分布式版本控制工具Git400
8.3.2 持续集成和持续交付工具Jenkins410
8.3.3 基础平台管理工具SaltStack418
8.3.4 Docker容器化工具421
8.4 本章小结422