机械工业出版社SPRING CLOUD微服务架构开发实战
- ISBN:9787111604525
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:316
- 出版时间:2017-04-01
- 条形码:9787111604525 ; 978-7-111-60452-5
本书特色
本书首先从微服务架构兴起的背景讲起,探讨了为何在分布式系统开发中微服务架构将逐渐取代单体架构,然后对SpringCloud所提供的微服务组件及解决方案进行了一一讲解,从而让读者不但可以系统地学习SpringCloud的相关知识,而且还可以全面掌握微服务架构应用的设计、开发、部署和运维等知识。本书共11章,分为3篇。第1篇为微服务开发基础——SpringBoot框架及使用;第2篇为SpringCloud组件实战;第3篇为微服务与Docker容器技术。本书内容通俗易懂,每章都结合实例进行讲解,特别适合作为SpringCloud的入门读物,也适合致力于互联网开发和Java开发的进阶读者阅读。如果你是公司运维人员,或者对微服务架构有兴趣,本书也非常适合你阅读。此外,本书也可以作为相关培训机构的教材使用。
内容简介
本书首先从微服务架构兴起的背景讲起,探讨了为何在分布式系统开发中微服务架构将逐渐取代单体架构,然后对SpringCloud所提供的微服务组件及解决方案进行了一一讲解,从而让读者不但可以系统地学习SpringCloud的相关知识,而且还可以全面掌握微服务架构应用的设计、开发、部署和运维等知识。本书共11章,分为3篇。靠前篇为微服务开发基础——SpringBoot框架及使用;第2篇为SpringCloud组件实战;第3篇为微服务与Docker容器技术。本书内容通俗易懂,每章都结合实例进行讲解,特别适合作为SpringCloud的入门读物,也适合致力于互联网开发和Java开发的进阶读者阅读。如果你是公司运维人员,或者对微服务架构有兴趣,本书也很好适合你阅读。此外,本书也可以作为相关培训机构的教材使用。
目录
前言
第1篇 微服务开发基础——Spring Boot框架及使用
第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 Boot12
2.1 Spring与Spring Boot12
2.2 快速启动Spring Boot13
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 API31
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组件实战
第3章 Spring Cloud简介46
3.1 微服务架构的核心关键点46
3.2 Spring Cloud技术概览49
3.2.1 Spring Cloud子项目50
3.2.2 为何选择Spring Cloud53
3.3 Spring Cloud版Hello World示例54
第4章 服务治理与负载均衡58
4.1 什么是服务治理58
4.2 构建服务治理——Eureka59
4.2.1 搭建微服务Parent工程60
4.2.2 搭建服务治理服务器——Eureka服务器62
4.2.3 搭建服务提供者——注册服务64
4.2.4 搭建服务消费者——获取服务68
4.3 使用客户端负载均衡——Ribbon72
4.3.1 什么是客户端负载均衡72
4.3.2 启用Ribbon74
4.3.3 负载均衡测试75
4.4 使用Feign简化微服务调用77
4.5 深入Eureka80
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 深入Ribbon90
4.6.1 Ribbon客户端负载均衡原理90
4.6.2 Ribbon负载均衡策略及配置92
4.6.3 直接使用Ribbon API94
4.7 深入Feign96
4.7.1 Feign的参数绑定96
4.7.2 Feign中的继承97
4.7.3 Feign与Swagger的冲突98
4.8 微服务健康监控99
4.9 异构服务解决方案——Sidecar101
第5章 微服务容错保护——Hystrix102
5.1 什么是微服务容错保护102
5.2 快速启动Hystrix103
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与HystrixObservableCommand113
5.3.3 断路器原理分析115
5.3.4 Hystrix异常——HystrixBadRequestException117
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服务网关——Zuul137
6.1 API服务网关138
6.2 Spring Cloud与Netflix Zuul139
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章 统一配置中心——Config166
7.1 Spring Cloud Config简介166
7.2 快速启动168
7.2.1 构建配置服务器168
7.2.2 创建应用配置文件169
7.2.3 升级微服务配置172
7.2.4
作者简介
董超 资深程序员、架构师。从事软件研发十多年,擅长移动互联网和行业应用架构。曾经多次主导大型国有企业系统和移动互联网平台的研发。现专注于IoT(物联网)及其应用平台的研发。 胡炽维 全栈工程师。有多年的开发经验,擅长前端开发技术,并对移动端原生开发技术也有所涉猎。曾经参与过多个互联网项目的研发和基于Docker的系统运维工作,积累了丰富的一线研发经验。现主要负责IoT(物联网)平台前端架构的研发与运维。
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥31.9¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0