书籍详情
生产微服务
作者:[美] Susan,J.,Fowler(苏珊,J.,福勒) 著;薛命灯 译
出版社:电子工业出版社
出版时间:2017-09-01
ISBN:9787121324338
定价:¥55.00
购买这本书可以去
内容简介
近年来,微服务因其良好的伸缩性和灵活性备受各大巨头科技公司的青睐,微服务俨然已成为技术社区的一个热门词汇。作者Susan Fowler从她在Uber成功实施微服务的经验出发,结合其他各大公司工程师的意见和建议,制订了一组生产就绪微服务的标准。作者在书中不仅对这组标准的各项细节展开了深入的讨论,还提供了一个检查清单,用于帮助读者了解自己的微服务生态系统是否符合生产就绪标准。
作者简介
Susan Fowler 是Uber 的网站可靠性工程师,她致力于在Uber 的所有微服务上推行生产就绪标准化,并参与到关键性业务团队中,帮助他们将微服务带向生产就绪状态。在加入Uber 之前,她在一些初创公司的应用平台和基础设施平台上工作。她之前在宾夕法尼亚大学学习粒子物理学,研究超对称性,并为ATLAS 和CMS 检测器设计硬件。薛命灯,毕业于厦门大学软件学院,具有十余年软件开发和架构经验。技术涉猎十分广泛,从前端到后端,从各种编程语言到分布式软件架构,从企业应用到大数据。在工作之余,爱好摄影和技术翻译,是InfoQ 的优秀社区编辑。
目录
目录
前言. ................................ xii
第 1章 微服务简介. .............. 1
从单体应用到微服务 ................................................ 1
微服务架构 ........... 7
微服务生态系统 .... 9
第 1层:硬件层 .............................................. 10
第 2层:通信层 .............................................. 11
第 3层:应用平台层 ....................................... 13
第 4层:微服务层 .......................................... 15
组织的挑战 ......... 16
反康威定律.. 17
技术蔓延 ..... 18
更多失效的可能性 .......................................... 18
资源竞争 ..... 19
第 2章 生产就绪............... 21
微服务标准化的挑战 .............................................. 21
可用性:标准化的目标 ........................................... 22
生产就绪标准 ..... 23
稳定性 ......... 24
可靠性 ......... 24
伸缩性 ......... 25
容错和灾备.. 26
高性能 ......... 28
监控 ............. 28
文档化 ......... 29
实现生产就绪标准 .................................................. 31
第 3章 稳定性和可靠性. ...... 33
微服务稳定性和可靠性的原则 ............................... 33
开发周期 ............. 34
部署管道 ............. 36
staging ......... 36
canary .......... 40
生产 ............. 41
让稳定可靠的部署成为强制措施 .................... 41
服务依赖 ............. 42
路由和服务发现 .. 44
服务和端点的解除 .................................................. 44
评估你的微服务 .. 45
开发周期 ..... 45
部署管道 ..... 46
服务依赖 ..... 46
路由和服务发现 .............................................. 46
服务和端点的解除 .......................................... 46
第 4章 伸缩性和高性能. ...... 47
关于微服务伸缩性和高性能的原则 ........................ 47
了解增长规模 ..... 48
质的增长规模 .................................................. 48
量的增长规模 .................................................. 50
资源的有效利用 .. 50
资源感知 ............. 51
资源需求 ..... 51
资源瓶颈 ..... 51
容量规划 ............. 52
依赖项的伸缩 ..... 53
流量管理 ............. 54
任务处理 ............. 55
编程语言的限制 .............................................. 55
高效地处理请求任务 ....................................... 56
可伸缩的数据存储 .................................................. 56
微服务生态系统的数据库选择 ........................ 57
微服务架构在数据库方面面临的挑战............. 57
评估你的微服务 .. 58
增长规模 ..... 58
资源的有效利用 .............................................. 58
资源感知 ..... 58
容量规划 ..... 59
依赖项的伸缩 .................................................. 59
流量管理 ..... 59
任务处理 ..... 59
可伸缩的数据存储 .......................................... 59
第 5章 容错和灾备............ 61
用于构建具有容错能力微服务的原则 .................... 61
避免单点故障 ..... 62
故障场景 ............. 63
常见的生态系统故障 ....................................... 64
硬件故障 ..... 65
通信层和应用平台层的故障 ........................... 66
依赖项故障.. 68
内部故障 ..... 69
弹性测试 ............. 70
代码测试 ..... 71
负载测试 ..... 72
混沌测试 ..... 74
故障检测和修复 .. 75
事故和中断.. 76
处理事故的 5个步骤 ....................................... 78
评估你的微服务 .. 80
避免故障点.. 80
故障场景 ..... 80
弹性测试 ..... 80
故障检测和修复 .............................................. 81
第 6章 监控..................... 83
用于微服务监控的原则........................................... 83
关键性度量指标 .. 84
日志 .................... 86
仪表盘 ................. 87
告警 .................... 88
设置有效的告警 .............................................. 89
处理告警 ..... 89
轮班待命 ............. 90
评估你的微服务 .. 91
关键性度量指标 .............................................. 91
日志 ............. 91
仪表盘 ......... 91
告警 ............. 91
轮班待命 ..... 92
第 7章 文档化和理解. ......... 93
微服务文档和理解的原则 ....................................... 93
微服务文档 ......... 95
描述 ................................................................. 96
架构图 ......... 96
轮班待命信息 .................................................. 97
链接 ............. 97
开发上手指南 .................................................. 97
请求消息流、端点和依赖项 ........................... 98
运行手册 ..... 98
问答章节 ..... 99
理解微服务 ......... 99
架构评审 ... 100
生产就绪审计 ................................................ 101
生产就绪路线图 ............................................ 101
生产就绪自动化 ............................................ 102
评估你的微服务 102
微服务文档 103
微服务理解 103
附录A 生产就绪检查列表.. 105
附录B 评估你的微服务..... 107
术语表............................. 113
索引. ............................... 119
前言. ................................ xii
第 1章 微服务简介. .............. 1
从单体应用到微服务 ................................................ 1
微服务架构 ........... 7
微服务生态系统 .... 9
第 1层:硬件层 .............................................. 10
第 2层:通信层 .............................................. 11
第 3层:应用平台层 ....................................... 13
第 4层:微服务层 .......................................... 15
组织的挑战 ......... 16
反康威定律.. 17
技术蔓延 ..... 18
更多失效的可能性 .......................................... 18
资源竞争 ..... 19
第 2章 生产就绪............... 21
微服务标准化的挑战 .............................................. 21
可用性:标准化的目标 ........................................... 22
生产就绪标准 ..... 23
稳定性 ......... 24
可靠性 ......... 24
伸缩性 ......... 25
容错和灾备.. 26
高性能 ......... 28
监控 ............. 28
文档化 ......... 29
实现生产就绪标准 .................................................. 31
第 3章 稳定性和可靠性. ...... 33
微服务稳定性和可靠性的原则 ............................... 33
开发周期 ............. 34
部署管道 ............. 36
staging ......... 36
canary .......... 40
生产 ............. 41
让稳定可靠的部署成为强制措施 .................... 41
服务依赖 ............. 42
路由和服务发现 .. 44
服务和端点的解除 .................................................. 44
评估你的微服务 .. 45
开发周期 ..... 45
部署管道 ..... 46
服务依赖 ..... 46
路由和服务发现 .............................................. 46
服务和端点的解除 .......................................... 46
第 4章 伸缩性和高性能. ...... 47
关于微服务伸缩性和高性能的原则 ........................ 47
了解增长规模 ..... 48
质的增长规模 .................................................. 48
量的增长规模 .................................................. 50
资源的有效利用 .. 50
资源感知 ............. 51
资源需求 ..... 51
资源瓶颈 ..... 51
容量规划 ............. 52
依赖项的伸缩 ..... 53
流量管理 ............. 54
任务处理 ............. 55
编程语言的限制 .............................................. 55
高效地处理请求任务 ....................................... 56
可伸缩的数据存储 .................................................. 56
微服务生态系统的数据库选择 ........................ 57
微服务架构在数据库方面面临的挑战............. 57
评估你的微服务 .. 58
增长规模 ..... 58
资源的有效利用 .............................................. 58
资源感知 ..... 58
容量规划 ..... 59
依赖项的伸缩 .................................................. 59
流量管理 ..... 59
任务处理 ..... 59
可伸缩的数据存储 .......................................... 59
第 5章 容错和灾备............ 61
用于构建具有容错能力微服务的原则 .................... 61
避免单点故障 ..... 62
故障场景 ............. 63
常见的生态系统故障 ....................................... 64
硬件故障 ..... 65
通信层和应用平台层的故障 ........................... 66
依赖项故障.. 68
内部故障 ..... 69
弹性测试 ............. 70
代码测试 ..... 71
负载测试 ..... 72
混沌测试 ..... 74
故障检测和修复 .. 75
事故和中断.. 76
处理事故的 5个步骤 ....................................... 78
评估你的微服务 .. 80
避免故障点.. 80
故障场景 ..... 80
弹性测试 ..... 80
故障检测和修复 .............................................. 81
第 6章 监控..................... 83
用于微服务监控的原则........................................... 83
关键性度量指标 .. 84
日志 .................... 86
仪表盘 ................. 87
告警 .................... 88
设置有效的告警 .............................................. 89
处理告警 ..... 89
轮班待命 ............. 90
评估你的微服务 .. 91
关键性度量指标 .............................................. 91
日志 ............. 91
仪表盘 ......... 91
告警 ............. 91
轮班待命 ..... 92
第 7章 文档化和理解. ......... 93
微服务文档和理解的原则 ....................................... 93
微服务文档 ......... 95
描述 ................................................................. 96
架构图 ......... 96
轮班待命信息 .................................................. 97
链接 ............. 97
开发上手指南 .................................................. 97
请求消息流、端点和依赖项 ........................... 98
运行手册 ..... 98
问答章节 ..... 99
理解微服务 ......... 99
架构评审 ... 100
生产就绪审计 ................................................ 101
生产就绪路线图 ............................................ 101
生产就绪自动化 ............................................ 102
评估你的微服务 102
微服务文档 103
微服务理解 103
附录A 生产就绪检查列表.. 105
附录B 评估你的微服务..... 107
术语表............................. 113
索引. ............................... 119
猜您喜欢