Spring Cloud微服务架构开发实战PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:董超,胡炽维编著
- 出 版 社:北京:机械工业出版社
- 出版年份:2018
- ISBN:9787111604525
- 页数:318 页
第1篇 微服务开发基础——Spring Boot框架及使用 2
第1章 微服务架构开发 2
1.1 单体架构应用的困境 2
1.2 微服务架构 3
1.2.1 如何定义微服务架构 4
1.2.2 微服务架构的优点 5
1.2.3 微服务架构的缺点 6
1.3 微服务架构设计 7
1.3.1 微服务粒度 7
1.3.2 微服务拆分原则 8
1.3.3 微服务自治原则 9
1.3.4 微服务交互原则 10
1.3.5 微服务架构迁移 10
1.4 不应使用微服务架构的情形 11
第2章 微服务基础——Spring Boot 12
2.1 Spring与Spring Boot 12
2.2 快速启动Spring Boot 13
2.2.1 编写pom.xml文件 14
2.2.2 编写应用引导类 16
2.2.3 编写配置文件 17
2.2.4 运行项目 17
2.3 使用Spring Boot构建示例项目 19
2.3.1 经典三层应用架构 19
2.3.2 设计领域对象 20
2.3.3 实现数据管理 23
2.3.4 编写业务逻辑层 29
2.3.5 编写RESTful API 31
2.3.6 数据库初始化 35
2.3.7 启动测试 36
2.4 Spring Boot特性 37
2.4.1 Spring Boot自动配置机制 37
2.4.2 Spring Boot扩展属性配置 38
2.4.3 Spring Boot日志配置 39
2.5 关于敏捷开发 40
2.6 关于RESTful API设计 41
2.6.1 以资源为中心进行URL设计 42
2.6.2 正确使用HTTP方法及状态码 42
2.6.3 查询及分页处理原则 43
2.6.4 其他指导原则 43
第2篇 Spring Cloud组件实战 46
第3章 Spring Cloud简介 46
3.1 微服务架构的核心关键点 46
3.2 Spring Cloud技术概览 49
3.2.1 Spring Cloud子项目 50
3.2.2 为何选择Spring Cloud 53
3.3 Spring Cloud版Hello World示例 54
第4章 服务治理与负载均衡 58
4.1 什么是服务治理 58
4.2 构建服务治理——Eureka 59
4.2.1 搭建微服务Parent工程 60
4.2.2 搭建服务治理服务器——Eureka服务器 62
4.2.3 搭建服务提供者——注册服务 64
4.2.4 搭建服务消费者——获取服务 68
4.3 使用客户端负载均衡——Ribbon 72
4.3.1 什么是客户端负载均衡 72
4.3.2 启用Ribbon 74
4.3.3 负载均衡测试 75
4.4 使用Feign简化微服务调用 77
4.5 深入Eureka 80
4.5.1 服务注册及相关原理 80
4.5.2 Eureka自我保护模式 82
4.5.3 注册一个服务实例需要的时间 84
4.5.4 Eureka高可用集群及示例 84
4.5.5 多网卡及IP指定 88
4.5.6 Eureka服务访问安全 89
4.6 深入Ribbon 90
4.6.1 Ribbon客户端负载均衡原理 90
4.6.2 Ribbon负载均衡策略及配置 92
4.6.3 直接使用Ribbon API 94
4.7 深入Feign 96
4.7.1 Feign的参数绑定 96
4.7.2 Feign中的继承 97
4.7.3 Feign与Swagger的冲突 98
4.8 微服务健康监控 99
4.9 异构服务解决方案——Sidecar 101
第5章 微服务容错保护——Hystrix 102
5.1 什么是微服务容错保护 102
5.2 快速启动Hystrix 103
5.2.1 引入Hystrix依赖 104
5.2.2 开启Hystrix支持 104
5.2.3 修改UserService实现 104
5.2.4 容错测试 105
5.2.5 服务降级的两种实现方式 107
5.2.6 在Feign中使用Hystrix回退 109
5.3 Hystrix容错机制分析 110
5.3.1 Hystrix整体处理流程 111
5.3.2 HystrixCommand与HystrixObservableCommand 113
5.3.3 断路器原理分析 115
5.3.4 Hystrix异常——HystrixBadRequestException 117
5.4 服务隔离 117
5.4.1 线程池隔离与信号量隔离 118
5.4.2 服务隔离的颗粒度 119
5.4.3 服务隔离配置 119
5.4.4 小结 120
5.5 服务降级模式 121
5.5.1 快速失败 121
5.5.2 静默失败 121
5.5.3 返回默认值 122
5.5.4 返回组装的值 122
5.5.5 返回远程缓存 123
5.5.6 主/从降级模式 124
5.6 请求缓存 127
5.7 请求合并 128
5.8 Hystrix监控 130
5.8.1 Hystrix仪表盘 131
5.8.2 Turbine仪表盘集群监控 133
5.8.3 Turbine与消息服务器集成 136
第6章 API服务网关——Zuul 137
6.1 API服务网关 138
6.2 Spnng Cloud与Netflix Zuul 139
6.3 启用Zuul路由服务 140
6.3.1 构建Zuul路由服务器 141
6.3.2 路由测试 142
6.3.3 负载均衡测试 144
6.3.4 Hystrix容错与监控测试 146
6.4 路由配置规则 146
6.4.1 服务路由默认规则 147
6.4.2 自定义微服务访问路径 148
6.4.3 忽略指定微服务 149
6.4.4 设置路由前缀 149
6.4.5 通过静态URL路径配置路由映射 150
6.4.6 路由配置顺序 151
6.4.7 自定义路由规则 151
6.5 Zuul路由其他设置 151
6.5.1 Header设置 152
6.5.2 HttpClient配置 153
6.5.3 路由配置的动态加载 153
6.6 Zuul容错与回退 153
6.6.1 实现Zuul的回退 154
6.6.2 服务超时 156
6.7 Zuul过滤器 157
6.7.1 过滤器特性 158
6.7.2 过滤器类型及生命周期 159
6.7.3 自定义Zuul过滤器 160
6.7.4 禁用Zuul过滤器 161
6.7.5 关于 Error过滤器的一点补充 162
6.8 @EnableZuulServer与@EnableZuulProxy比较 164
6.8.1 EnableZuulServer注解的过滤器 164
6.8.2 EnableZuulProxy注解的过滤器 165
第7章 统一配置中心——Config 166
7.1 Spring Cloud Config简介 166
7.2 快速启动 168
7.2.1 构建配置服务器 168
7.2.2 创建应用配置文件 169
7.2.3 升级微服务配置 172
7.2.4 启动测试 173
7.2.5 @Value注解 174
7.2.6 关于配置服务的默认配置 174
7.2.7 Spring配置加载顺序 175
7.3 配置资源库 176
7.3.1 配置资源规则详解 176
7.3.2 集成Git仓库 177
7.3.3 搜索目录 179
7.3.4 本地缓存 179
7.3.5 Git访问配置 180
7.3.6 集成SVN 180
7.3.7 使用文件系统 181
7.4 配置的加密与解密 181
7.4.1 安装JCE (Java Cryptography Extension) 181
7.4.2 使用对称加密 182
7.4.3 加密/解密端点 183
7.4.4 客户端解密 185
7.4.5 非对称加密 187
7.5 配置服务器访问安全 187
7.6 配置服务器的高可用 188
7.6.1 整合Eureka 188
7.6.2 快速失败与响应 189
7.6.3 动态刷新配置 191
第8章 分布式服务跟踪——Sleuth 192
8.1 Spring Cloud Sleuth简介 192
8.1.1 快速启用Sleuth 193
8.1.2 Sleuth与日志框架 196
8.1.3 有关Span 199
8.2 Sleuth与ELK整合 202
8.2.1 将日志输出到Logstash 202
8.2.2 Logstash与Log4j的集成 205
8.3 整合Zipkin服务 206
8.3.1 构建Zipkin服务器 206
8.3.2 整合微服务 208
8.3.3 Zipkin分析 208
8.3.4 输出Traceld 211
8.4 Sleuth抽样采集与采样率 213
第9章 消息驱动——Stream 215
9.1 什么是消息驱动开发 215
9.1.1 基于消息中间件开发的优点 216
9.1.2 基于消息中间件开发的缺点 217
9.2 Spring Cloud Stream简介 218
9.2.1 应用模型 218
9.2.2 编程模型 220
9.2.3 使用“发布-订阅”模式 223
9.3 Kafka使用指南 224
9.3.1 Kafka基础知识 224
9.3.2 搭建Kafka环境 226
9.4 使用消息对应用重构 228
9.4.1 为商品服务增加缓存功能 229
9.4.2 为用户微服务添加消息发送功能 235
9.4.3 为商品微服务添加消息监听功能 239
9.4.4 测试 242
9.4.5 自定义消息通道 245
9.5 Spring Cloud Stream高级主题 246
9.5.1 单元测试 246
9.5.2 错误处理 247
9.5.3 消息处理分发 248
9.5.4 消费者组与消息分区 249
9.5.5 消息绑定器 250
9.6 消息总线——Spring Cloud Bus 252
9.6.1 完成配置自动刷新配置 252
9.6.2 发布自定义事件 256
第10章 微服务应用安全——Security 258
10.1 Spring Boot的应用安全 258
10.1.1 实现用户认证 258
10.1.2 实现用户鉴权 261
10.2 微服务安全 263
10.3 基于OAuth 2.0的认证 265
10.3.1 OAuth 2.0授权流程 265
10.3.2 客户端授权模式 266
10.3.3 使用OAuth 2.0完成用户认证及授权 268
10.3.4 整合API网关服务 274
10.4 基于JWT的认证 275
10.4.1 改造认证服务支持输出JWT 276
10.4.2 在Zuul中对JWT进行解析 281
10.4.3 改造商品微服务 282
第3篇 微服务与Docker容器技术 288
第11章 微服务与Docker 288
11.1 Docker简介 288
11.2 Docker的使用 289
11.2.1 安装 290
11.2.2 镜像 293
11.2.3 容器 298
11.2.4 容器实战:MySQL 299
11.3 Docker与Spring Cloud微服务 301
11.3.1 部署Eureka服务 302
11.3.2 部署应用微服务 304
11.4 微服务与Jenkins 305
11.4.1 安装Jenkins 306
11.4.2 Jenkins配置 307
11.4.3 构建任务 309
11.5 微服务编排 315
- 《情报学 服务国家安全与发展的现代情报理论》赵冰峰著 2018
- 《中央财政支持提升专业服务产业发展能力项目水利工程专业课程建设成果 设施农业工程技术》赵英编 2018
- 《Maya 2018完全实战技术手册》来阳编著 2019
- 《体育公共服务改革 理想之美与现实之殇》齐超 2019
- 《区块链DAPP开发入门、代码实现、场景应用》李万胜著 2019
- 《Python3从入门到实战》董洪伟 2019
- 《大数据Hadoop 3.X分布式处理实战》吴章勇,杨强 2020
- 《星空摄影后期实战》阿五在路上著 2020
- 《高含硫气藏开发腐蚀控制技术与实践》唐永帆,张强 2018
- 《会议服务》黄程主编 2015
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019