书海网短评:
详解SpringCloud所提供的微服务架构核心组件详解微服务架构从设计、开发、部署到运维的一站式解决方案通过大量易于构建、运行和测试的开发示例,带领读者实战微服务架构详解Sprin
详解SpringCloud所提供的微服务架构核心组件
详解微服务架构从设计、开发、部署到运维的一站式解决方案
通过大量易于构建、运行和测试的开发示例,带领读者实战微服务架构
详解SpringCloud核心组件:服务发现、客户端负载均衡、API网关、微服务容错、统一配置中心、消息总线及微服务调用监控等
手把手带领读者使用SpringBoot进行微服务应用开发
手把手带领读者使用Config组件实现统一配置管理及加密处理
手把手带领读者使用Kafka和Redis构建基于消息驱动的应用
手把手带领读者使用OAuth2.0和JWT构建安全解决方案
手把手带领读者使用Docker和Jenkins实现微服务应用的自动化部署
30秒极速了解《Spring Cloud微服务架构开发实战》精华内容:
为何采用微服务架构
SpringBoot微服务开发基础
SpringCloud与微服务
实现服务治理——Eureka
客户端负载均衡——Ribbon
简化微服务调用——Feign
微服务容错保护与降级——Hystrix
构建API服务网关——Zuul
搭建统一配置中心——Config
微服务分布式跟踪与监控——Sleuth
在微服务中整合ELK
SpringCloud与Kafka整合
使用Redis实现微服务数据缓存
基于OAuth2.0搭建统一认证服务器
使用JWT实现单点登录处理
使用Docker部署微服务应用
通过Jenkins实现自动发布
《Spring Cloud微服务架构开发实战》首先从微服务架构兴起的背景讲起,探讨了为何在分布式系统开发中微服务架构将逐渐取代单体架构,然后对SpringCloud所提供的微服务组件及解决方案进行了一一讲解,从而让读者不但可以系统地学习SpringCloud的相关知识,而且还可以全面掌握微服务架构应用的设计、开发、部署和运维等知识。
《Spring Cloud微服务架构开发实战》共11章,分为3篇。第1篇为微服务开发基础——SpringBoot框架及使用;第2篇为SpringCloud组件实战;第3篇为微服务与Docker容器技术。其中第2篇为《Spring Cloud微服务架构开发实战》的核心,涵盖了构建微服务架构所需要的服务治理(Eureka)、客户端负载均衡(Ribbon)、微服务容错与降级处理(Hystrix)、微服务API统一网关(Zuul)、分布式配置中心(Config)、微服务调用链追踪(Sleuth)、微服务消息驱动开发(Stream)及微服务安全(OAuth及JWT)等相关知识。
《Spring Cloud微服务架构开发实战》内容通俗易懂,每章都结合实例进行讲解,特别适合SpringCloud的入门读者阅读,也适合致力于互联网开发和Java开发的进阶读者阅读。如果你是运维人员,或者你对微服务架构有兴趣,那么《Spring Cloud微服务架构开发实战》也非常适合你阅读。此外,《Spring Cloud微服务架构开发实战》也可以作为相关培训机构的教材使用。
董超资深程序员、架构师。从事软件研发十多年,擅长移动互联网和行业应用架构。曾经多次主导大型国有企业系统和移动互联网平台的研发。现专注于IoT(物联网)及其应用平台的研发。
胡炽维全栈工程师。有多年的开发经验,擅长前端开发技术,并对移动端原生开发技术也有所涉猎。曾经参与过多个互联网项目的研发和基于Docker的系统运维工作,积累了丰富的一线研发经验。现主要负责IoT(物联网)平台前端架构的研发与运维。
目录
前言
第1篇微服务开发基础——SpringBoot框架及使用
第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章微服务基础——SpringBoot12
2.1Spring与SpringBoot12
2.2快速启动SpringBoot13
2.2.1编写pom.xml文件14
2.2.2编写应用引导类16
2.2.3编写配置文件17
2.2.4运行项目17
2.3使用SpringBoot构建示例项目19
2.3.1经典三层应用架构19
2.3.2设计领域对象20
2.3.3实现数据管理23
2.3.4编写业务逻辑层29
2.3.5编写RESTfulAPI31
2.3.6数据库初始化35
2.3.7启动测试36
2.4SpringBoot特性37
2.4.1SpringBoot自动配置机制37
2.4.2SpringBoot扩展属性配置38
2.4.3SpringBoot日志配置39
2.5关于敏捷开发40
2.6关于RESTfulAPI设计41
2.6.1以资源为中心进行URL设计42
2.6.2正确使用HTTP方法及状态码42
2.6.3查询及分页处理原则43
2.6.4其他指导原则43
第2篇SpringCloud组件实战
第3章SpringCloud简介46
3.1微服务架构的核心关键点46
3.2SpringCloud技术概览49
3.2.1SpringCloud子项目50
3.2.2为何选择SpringCloud53
3.3SpringCloud版HelloWorld示例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.2Eureka自我保护模式82
4.5.3注册一个服务实例需要的时间84
4.5.4Eureka高可用集群及示例84
4.5.5多网卡及IP指定88
4.5.6Eureka服务访问安全89
4.6深入Ribbon90
4.6.1Ribbon客户端负载均衡原理90
4.6.2Ribbon负载均衡策略及配置92
4.6.3直接使用RibbonAPI94
4.7深入Feign96
4.7.1Feign的参数绑定96
4.7.2Feign中的继承97
4.7.3Feign与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.3Hystrix容错机制分析110
5.3.1Hystrix整体处理流程111
5.3.2HystrixCommand与HystrixObservableCommand113
5.3.3断路器原理分析115
5.3.4Hystrix异常——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.8Hystrix监控130
5.8.1Hystrix仪表盘131
5.8.2Turbine仪表盘集群监控133
5.8.3Turbine与消息服务器集成136
第6章API服务网关——Zuul137
6.1API服务网关138
6.2SpringCloud与NetflixZuul139
6.3启用Zuul路由服务140
6.3.1构建Zuul路由服务器141
6.3.2路由测试142
6.3.3负载均衡测试144
6.3.4Hystrix容错与监控测试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.5Zuul路由其他设置151
6.5.1Header设置152
6.5.2HttpClient配置153
6.5.3路由配置的动态加载153
6.6Zuul容错与回退153
6.6.1实现Zuul的回退154
6.6.2服务超时156
6.7Zuul过滤器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.1EnableZuulServer注解的过滤器164
6.8.2EnableZuulProxy注解的过滤器165
第7章统一配置中心——Config166
7.1SpringCloudConfig简介166
7.2快速启动168
7.2.1构建配置服务器168
7.2.2创建应用配置文件169
7.2.3升级微服务配置172
7.2.4









