最新公告
  • 欢迎您光临源码库,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入
  • Spring Cloud微服务全栈技术与案例解析

    资源名称:Spring Cloud微服务全栈技术与案例解析

    内容简介:

    本书内容共18章,共分为4个部分。第1部分为准备篇,准备篇当中会对微服务以及SpringCloud做一个整体的介绍,同时将SpringCloud的基础内容进行讲解,比如SpringBoot。第2部分为基础篇,基础篇当中会对SpringCloud的几大常用模块进行讲解和简单使用。第3部分为实战篇,实战篇当中会通过对在微服务架构中普遍遇到的问题进行实战解决讲解。第4部分为高级篇,高级篇当中就是对SpringCloud进行一些扩展性的使用,比如API网关怎么限流,怎么做灰度发布等。

    资源目录:

    前言

    第一部分 准备篇

    第1章 Spring Cloud与微服务概述 2

    1.1 传统的单体应用 2

    1.1.1 改进单体应用的架构 2

    1.1.2 向微服务靠拢 3

    1.2 什么是微服务 4

    1.2.1 使用微服务架构的优势和劣势 4

    1.2.2 重构前的准备工作 5

    1.3 什么是Spring Cloud 5

    1.3.1 Spring Cloud模块介绍 5

    1.3.2 Spring Cloud版本介绍 6

    1.4 本章小结 7

    第2章 实战前的准备工作 8

    2.1 开发环境的准备 8

    2.2 Spring Boot入门 9

    2.2.1 Spring Boot简介 9

    2.2.2 搭建Spring Boot项目 9

    2.2.3 编写第一个REST接口 11

    2.2.4 读取配置文件 11

    2.2.5 profiles多环境配置 13

    2.2.6 热部署 13

    2.2.7 actuator监控 15

    2.2.8 统一异常处理 16

    2.2.9 异步执行 18

    2.2.10 随机端口 21

    2.3 本章小结 23

    第二部分 基础篇

    第3章 Eureka注册中心 26

    3.1 Eureka 26

    3.2 使用Eureka编写注册中心服务 27

    3.3 编写服务提供者 29

    3.3.1 创建项目注册到Eureka 29

    3.3.2 编写提供接口 30

    3.4 编写服务消费者 31

    3.4.1 直接调用接口 31

    3.4.2 通过Eureka来消费接口 32

    3.5 开启Eureka认证 33

    3.6 Eureka高可用搭建 33

    3.6.1 高可用原理 33

    3.6.2 搭建步骤 34

    3.7 常用配置讲解 35

    3.7.1 关闭自我保护 35

    3.7.2 自定义Eureka的Instance ID 35

    3.7.3 自定义实例跳转链接 36

    3.7.4 快速移除已经失效的服务信息 37

    3.8 扩展使用 38

    3.8.1 Eureka REST API 38

    3.8.2 元数据使用 40

    3.8.3 EurekaClient使用 41

    3.8.4 健康检查 43

    3.8.5 服务上下线监控 45

    3.9 本章小结 46

    第4章 客户端负载均衡Ribbon 47

    4.1 Ribbon 47

    4.1.1 Ribbon模块 47

    4.1.2 Ribbon使用 48

    4.2 RestTemplate结合Ribbon使用 49

    4.2.1 使用RestTemplate与整合Ribbon 49

    4.2.2 RestTemplate负载均衡示例 52

    4.2.3 @LoadBalanced注解原理 53

    4.2.4 Ribbon API使用 57

    4.2.5 Ribbon饥饿加载 58

    4.3 负载均衡策略介绍 59

    4.4 自定义负载策略 60

    4.5 配置详解 61

    4.5.1 常用配置 61

    4.5.2 代码配置Ribbon 62

    4.6 重试机制 63

    4.7 本章小结 64

    第5章 声明式REST客户端Feign 65

    5.1 使用Feign调用服务接口 65

    5.1.1 在Spring Cloud中集成Feign 66

    5.1.2 使用Feign调用接口 66

    5.2 自定义Feign的配置 67

    5.2.1 日志配置 67

    5.2.2 契约配置 69

    5.2.3 Basic认证配置 69

    5.2.4 超时时间配置 70

    5.2.5 客户端组件配置 71

    5.2.6 GZIP压缩配置 72

    5.2.7 编码器解码器配置 72

    5.3 脱离Spring Cloud 使用Feign 73

    5.3.1 原生注解方式 73

    5.3.2 构建Feign对象 74

    5.3.3 其他配置 75

    5.4 本章小结 76

    第6章 Hystrix 服务容错处理 77

    6.1 Hystrix 77

    6.1.1 Hystrix的简单使用 77

    6.1.2 回退支持 78

    6.1.3 信号量策略配置 79

    6.1.4 线程隔离策略配置 79

    6.1.5 结果缓存 80

    6.1.6 缓存清除 81

    6.1.7 合并请求 83

    6.2 在Spring Cloud中使用Hystrix 84

    6.2.1 简单使用 84

    6.2.2 配置详解 85

    6.2.3 Feign整合Hystrix服务容错 88

    6.2.4 Feign中禁用Hystrix 90

    6.3 Hystrix监控 91

    6.4 整合Dashboard查看监控数据 92

    6.5 Turbine聚合集群数据 94

    6.5.1 Turbine使用 94

    6.5.2 context-path导致监控失败 95

    6.6 本章小结 95

    第7章 API网关 96

    7.1 Zuul 简介 96

    7.2 使用Zuul构建微服务网关 97

    7.2.1 简单使用 97

    7.2.2 集成Eureka 98

    7.3 Zuul路由配置 98

    7.4 Zuul过滤器讲解 99

    7.4.1 过滤器类型 100

    7.4.2 请求生命周期 100

    7.4.3 使用过滤器 101

    7.4.4 过滤器禁用 103

    7.4.5 过滤器中传递数据 103

    7.4.6 过滤器拦截请求 104

    7.4.7 过滤器中异常处理 106

    7.5 Zuul容错和回退 108

    7.5.1 容错机制 108

    7.5.2 回退机制 109

    7.6 Zuul高可用 111

    7.7 本章小结 111

    第三部分 实战篇

    第8章 分布式配置管理 114

    8.1 自研配置管理框架Smconf简介 114

    8.2 Smconf工作原理 115

    8.3 Smconf 部署 116

    8.3.1 Mongodb安装 116

    8.3.2 Zookeeper安装 117

    8.3.3 Smconf Server部署 118

    8.4 项目中集成Smconf 119

    8.4.1 集成Smconf 119

    8.4.2 使用Smconf 120

    8.4.3 配置更新回调 121

    8.5 Smconf详细使用 122

    8.5.1 源码编译问题 122

    8.5.2 后台账号管理 122

    8.5.3 REST API 123

    8.6 Smconf源码解析 125

    8.6.1 Client启动 125

    8.6.2 启动加载配置 127

    8.6.3 配置修改推送原理 128

    8.7 本章小结 129

    第9章 Sleuth服务跟踪 130

    9.1 Spring Cloud集成Sleuth 130

    9.2 整合Logstash 131

    9.2.1 ELK简介 131

    9.2.2 输出JSON格式日志 131

    9.3 整合Zipkin 133

    9.3.1 创建Zipkin数据收集服务 133

    9.3.2 项目集成Zipkin发送调用链数据 134

    9.3.3 抽样采集数据 135

    9.3.4 用RabbitMq代替Http发送调用链数据 135

    9.3.5 用Elasticsearch存储调用链数据 136

    9.4 本章小结 137

    第10章 微服务之间调用的安全认证 138

    10.1 什么是JWT 138

    10.2 创建统一的认证服务 139

    10.2.1 表结构 139

    10.2.2 JWT工具类封装 139

    10.2.3 认证接口 141

    10.3 服务提供方进行调用认证 142

    10.4 服务消费方申请Token 143

    10.5 Feign调用前统一申请Token传递到调用的服务中 145

    10.6 Zuul中传递Token到路由的服务中 147

    10.7 本章小结 148

    第11章 Spring Boot Admin 149

    11.1 Spring Boot Admin的使用方法 149

    11.1.1 创建Spring Boot Admin项目 149

    11.1.2 将服务注册到Spring Boot Admin 150

    11.1.3 如何在Admin中查看各个服务的日志 151

    11.2 开启认证 152

    11.3 集成Eureka 153

    11.4 集成Turbine 154

    11.5 监控服务 155

    11.5.1 邮件警报 156

    11.5.2 自定义钉钉警报 156

    11.6 本章小结 159

    第12章 服务的API文档管理 160

    12.1 Swagger简介 160

    12.2 集成Swagger管理API文档 161

    12.2.1 封装Swagger Starter 161

    12.2.2 在项目中集成Swagger starter 162

    12.2.3 使用Swagger生成文档 162

    12.2.4 在线测试接口 163

    12.3 Swagger注解 164

    12.4 Eureka 控制台快速查看Swagger文档 169

    12.5 本章小结 169

    第四部分 高级篇

    第13章 API网关扩展 172

    13.1 用户认证 172

    13.1.1 动态管理不需要拦截的API请求 172

    13.1.2 创建认证的用户服务 174

    13.1.3 路由之前的认证 175

    13.1.4 向下游微服务中传递认证之后的用户信息 176

    13.1.5 内部服务间的用户信息传递 177

    13.2 服务限流 179

    13.2.1 限流算法 179

    13.2.2 单节点限流 179

    13.2.3 集群限流 184

    13.2.4 具体服务限流 187

    13.2.5 具体接口限流 188

    13.3 服务降级 194

    13.4 灰度发布 196

    13.4.1 原理讲解 196

    13.4.2 根据用户做灰度发布 197

    13.4.3 根据IP做灰度发布 200

    13.5 本章小结 200

    第14章 微服务之缓存 201

    14.1 Guava Cache本地缓存 201

    14.1.1 Guava Cache简介 201

    14.1.2 代码示例 202

    14.1.3 回收策略 202

    14.2 Redis缓存 203

    14.2.1 用Redistemplate 操作Redis 203

    14.2.2 用Repository操作Redis 204

    14.2.3 Spring Cache 缓存数据 206

    14.2.4 扩展Spring Cache支持对每个缓存的时间配置 211

    14.2.5 缓存异常处理 212

    14.2.6 自定义缓存工具类 214

    14.3 防止缓存穿透方案 216

    14.3.1 什么是缓存穿透 216

    14.3.2 缓存穿透的危害 216

    14.3.3 解决方案 217

    14.3.4 布隆过滤器介绍 217

    14.3.5 代码示例 217

    14.4 防止缓存雪崩方案 219

    14.4.1 什么是缓存雪崩 219

    14.4.2 缓存雪崩的危害 219

    14.4.3 解决方案 219

    14.4.4 代码示例 219

    14.4.5 分布式锁方式 220

    14.5 本章小结 221

    第15章 微服务之存储 222

    15.1 存储选型 222

    15.2 Mongodb 223

    15.2.1 集成Spring Data Mongodb 223

    15.2.2 添加数据操作 223

    15.2.3 索引使用 225

    15.2.4 修改数据操作 227

    15.2.5 删除数据操作 228

    15.2.6 查询数据操作 229

    15.2.7 GridFS操作 231

    15.2.8 用Repository方式操作数据 232

    15.2.9 自增ID实现 236

    15.2.10 批量更新扩展 239

    15.3 Mysql 243

    15.3.1 集成Spring JdbcTemplate 243

    15.3.2 JdbcTemplate代码示例 243

    15.3.3 封装JdbcTemplate 操作Mysql更简单 244

    15.3.4 扩展JdbcTemplate使用方式 244

    15.3.5 常见问题 248

    15.4 Elasticsearch 251

    15.4.1 集成Spring Data Elasticsearch 251

    15.4.2 Repository示例 251

    15.4.3 ElasticsearchTemplate示例 254

    15.4.4 索引构建方式 257

    15.5 本章小结 259

    第16章 微服务之分布式事物解决方案 260

    16.1 两阶段型 260

    16.2 TCC补偿型 261

    16.3 最终一致性 261

    16.3.1 原理讲解 261

    16.3.2 创建可靠性消息服务 263

    16.3.3 消息存储表设计 264

    16.3.4 提供服务接口 265

    16.3.5 创建消息发送系统 269

    16.3.6 消费消息逻辑 273

    16.3.7 消息管理系统 275

    16.4 最大努力通知型事物 276

    16.4.1 介绍 276

    16.4.2 原理 276

    16.5 本章小结 276

    第17章 分布式任务调度 277

    17.1 Elastic-Job 277

    17.1.1 Elastic-Job介绍 277

    17.1.2 任务调度目前存在的问题 277

    17.1.3 为什么选择Elastic-Job 278

    17.2 快速集成 279

    17.3 任务使用 280

    17.3.1 简单任务 280

    17.3.2 数据流任务 281

    17.3.3 脚本任务 282

    17.4 配置参数讲解 282

    17.4.1 注册中心配置 283

    17.4.2 作业配置 283

    17.4.3 dataflow独有配置 284

    17.4.4 script独有配置 284

    17.5 多节点并行调度 285

    17.5.1 分片概念 285

    17.5.2 任务节点分片策略 285

    17.5.3 业务数据分片处理 286

    17.6 事件追踪 289

    17.7 扩展功能 290

    17.7.1 自定义监听器 290

    17.7.2 定义异常处理 291

    17.8 运维平台 291

    17.8.1 功能列表 292

    17.8.2 部署运维平台 292

    17.8.3 运维平台使用 293

    17.9 使用经验分享 296

    17.9.1 任务的划分和监控 296

    17.9.2 任务的扩展性和节点数量 297

    17.9.3 任务的重复执行 297

    17.9.4 overwrite覆盖问题 298

    17.9.5 流水式任务 298

    17.10 本章小结 299

    第18章 分库分表解决方案 300

    18.1 Sharding-JDBC 300

    18.1.1 介绍 300

    18.1.2 功能列表 301

    18.1.3 相关概念 301

    18.2 快速集成 302

    18.3 读写分离实战 304

    18.3.1 准备数据 304

    18.3.2 配置读写分离 304

    18.3.3 验证读从库 305

    18.3.4 验证写主库 307

    18.3.5 Hint强制路由主库 308

    18.4 分库分表实战 309

    18.4.1 常用分片算法 310

    18.4.2 使用分片算法 310

    18.4.3 不分库只分表实战 311

    18.4.4 既分库又分表实战 314

    18.5 分布式主键 317

    18.6 本章小结 319

    资源截图:

    Spring Cloud微服务全栈技术与案例解析插图源码资源库

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!

    源码资源库 » Spring Cloud微服务全栈技术与案例解析