网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | Spring Cloud开发实战 |
分类 | |
作者 | 徐文聪 |
出版社 | 电子工业出版社 |
下载 | |
简介 | 内容简介 本书是一本Spring Cloud开发的入门级教程图书,也是一本着重于动手实战的编程指导书。随着这两年Spring Cloud开发的日渐火热,无论是对于编程工作者、编程讲师或是编程爱好者与学生,掌握SpringCloud 开发技能都将为自己带来极大的收获。本书分15个章节对Spring Cloud的各种组件进行全面讲解,并针对某个组件的替代产品进行针对性的比较。有Spring Cloud的注册中心Eureka,Consul;网关组件Zuul和Gateway;异步消息队列Kafka,配置中心config等。本书章节简明扼要,务求用最简洁的文字和代码将整个Spring Cloud技术体系进行讲解说明,读者在阅读的过程中也能收获匪浅。 作者简介 徐文聪目前在一线互联网公司担任后端开发,承担百万日活的产品后端研发。对高并发和性能优化方面有不少经验,对技术有极致的追求Github和Gitee活跃用户。 目录 目 录 第1章 Spring Cloud微服务简介 001 1.1 单体应用架构 001 1.1.1 单体应用架构简介 001 1.1.2 单体应用架构的优势 001 1.1.3 单体应用架构的劣势 002 1.2 微服务架构 002 1.2.1 微服务架构简介 002 1.2.2 微服务的来源 002 1.2.3 微服务的优点 002 1.2.4 微服务的缺点 003 1.2.5 微服务架构的选择 003 1.3 Spring Cloud介绍 004 1.3.1 Spring Cloud的概念 004 1.3.2 Spring Cloud的组件 005 1.3.3 Spring Cloud版本介绍 005 1.3.4 Spring Boot简介 005 1.3.5 Spring Boot和Spring Cloud的关系 006 1.4 本章小结 006 第2章 微服务开发工具 007 2.1 IDEA基本配置 007 2.1.1 IDEA的安装 007 2.1.2 字体设置 007 2.1.3 自动编译开源 009 2.1.4 代码提示设置 009 2.1.5 Tab多行显示 009 2.1.6 去掉行尾空格 011 2.1.7 设置行号显示 011 2.1.8 项目文件编码 012 2.1.9 自动导入包 013 2.2 IDEA快捷键 013 2.2.1 快捷键函数收尾 014 2.2.2 去掉无效引用 014 2.2.3 打开最近使用的文件 015 2.2.4 快速搜索文件 015 2.2.5 快速查找方法 016 2.2.6 快速搜索目录 016 2.2.7 快速切换编辑框 016 2.2.8 查看层级关系 017 2.2.9 展开成员变量 017 2.2.10 方法参数类型提示 018 2.2.11 查看方法调用 018 2.2.12 同词编辑 019 2.3 代码相关技巧 020 2.3.1 打开最近的项目 020 2.3.2 本地代码历史 021 2.3.3 展示类成员变量 022 2.3.4 内存展示 023 2.3.5 查看项目结构 024 2.3.6 多线程断点调试 025 2.3.7 同步显示类 026 2.4 IDEA代码模板配置 027 2.4.1 代码模板定制 027 2.4.2 注释生成 027 2.4.3 生成Java类模板 028 2.5 IDEA插件介绍 031 2.5.1 阿里巴巴规范插件 031 2.5.2 stackoverflow搜索插件 031 2.5.3 Maven Helper 032 2.5.4 POJO to JSON插件 033 2.5.5 GsonFormat插件 034 2.5.6 Grep Console日志查询工具 036 2.5.7 Redis可视化工具 037 2.5.8 代码高亮工具 038 2.5.9 翻译插件 039 2.5.10 字符串标记JSON 040 2.6 本章小结 041 第3章 注册中心 042 3.1 Eureka客户端 042 3.1.1 Eureka客户端依赖 042 3.1.2 Eureka客户端文件配置 043 3.2 Eureka服务端 044 3.2.1 Eureka服务端组件依赖 044 3.2.2 Eureka服务端文件配置 045 3.2.3 Eureka服务端启动类 046 3.2.4 注册中心启动 046 3.3 Eureka常用配置 047 3.3.1 Eureka权限认证 047 3.3.2 Eureka健康检查 047 3.4 Consul注册中心 048 3.4.1 Consul安装和启动 048 3.4.2 Consul服务端依赖 050 3.4.3 Consul服务端文件配置 050 3.4.4 Consul服务端启动类 051 3.4.5 Consul客户端文件配置 051 3.4.6 Consul客户端业务逻辑 052 3.5 本章小结 054 第4章 Feign客户端 055 4.1 Feign实例 055 4.1.1 Feign项目结构 055 4.1.2 Feign客户端依赖 055 4.1.3 Feign客户端文件配置 057 4.1.4 Feign客户端启动类配置 058 4.1.5 Feign的配置方式 058 4.1.6 Spring两种类型的bean对象 058 4.1.7 Feign客户端接口定义 059 4.1.8 Feign服务端依赖 059 4.1.9 Feign服务端文件配置 060 4.1.10 Feign服务端启动类 061 4.1.11 Feign服务端控制器 061 4.1.12 Feign项目启动 062 4.2 Feign请求 062 4.2.1 Feign get请求 062 4.2.2 Feign post请求 063 4.2.3 Feign服务降级 064 4.3 Feign高级配置 064 4.3.1 Feign安全认证配置 064 4.3.2 Feign超时配置 065 4.3.3 Feign日志配置 065 4.3.4 Feign核心类 066 4.4 Feign整合Zipkin 066 4.4.1 项目结构 066 4.4.2 Zipkin服务端依赖 067 4.4.3 Zipkin客户端依赖 069 4.4.4 Zipkin客户端配置文件 069 4.5 Hystrix注册中心 070 4.5.1 Hystrix原理 071 4.5.2 Hystrix项目结构 071 4.5.3 Hystrix注册中心依赖 071 4.5.4 Hystrix文件配置 072 4.5.5 Hystrix相关参数配置 072 4.5.6 Hystrix隔离策略 072 4.5.7 Eureka启动 073 4.6 构建Hystrix服务端 073 4.6.1 Hystrix服务端组件依赖 073 4.6.2 Hystrix文件配置 073 4.6.3 Hystrix启动类 074 4.6.4 Eureka配置文件 074 4.7 构建Hystrix客户端 075 4.7.1 Hystrix客户端依赖 075 4.7.2 Hystrix客户端启动配置 075 4.7.3 Hystrix增加控制类 076 4.7.4 Hystrix回退支持 077 4.8 本章小结 078 第5章 Ribbon负载均衡器 080 5.1 Ribbon注册中心 080 5.1.1 Eureka实例 080 5.1.2 Ribbon服务端实例 082 5.1.3 Ribbon客户端实例 084 5.1.4 Ribbon负载均衡 086 5.2 Ribbon常用配置 087 5.2.1 Ribbon注册中心状态设置 087 5.2.2 Ribbon注册中心超时设置 087 5.2.3 Ribbon路由配置 088 5.3 本章小结 090 第6章 Config配置中心 091 6.1 Config服务端 091 6.2 Config客户端 093 6.2.1 Config客户端依赖 093 6.2.2 Config客户端文件配置 095 6.2.3 动态配置刷新 096 6.3 本章小结 097 第7章 第三方配置中心 098 7.1 Apollo简介 098 7.1.1 Apollo的结构 098 7.1.2 Apollo配置环境 100 7.1.3 Apollo数据库配置 103 7.1.4 Apollo配置中心启动 107 7.2 Apollo配置中心 112 7.2.1 Apollo创建配置 112 7.2.2 Apollo新增配置 112 7.2.3 Apollo发布配置 113 7.2.4 Apollo启动 114 7.3 Apollo集群 115 7.3.1 集群配置 115 7.3.2 管理员工具 116 7.3.3 Apollo实例 124 7.4 Nacos配置中心 125 7.4.1 Nacos的安装 125 7.4.2 项目结构 127 7.4.3 Nacos服务端依赖 127 7.4.4 Nacos服务端 128 7.4.5 Nacos配置管理 131 7.5 ZooKeeper配置中心 132 7.5.1 ZooKeeper简介 132 7.5.2 使用场景 132 7.5.3 节点监控 133 7.5.4 ZooKeeper领导者选举 133 7.5.5 Watcher机制 134 7.5.6 ZooKeeper部署 135 7.5.7 zkui登录页面 137 7.5.8 ZooKeeper实例 139 7.6 本章小结 142 第8章 Zuul网关 143 8.1 Zuul基础实例 143 8.1.1 Zuul的作用 143 8.1.2 Zuul依赖 144 8.1.3 Zuul文件配置 144 8.1.4 启动类配置 144 8.2 Zuul实例 145 8.2.1 创建Eureka注册中心 145 8.2.2 Eureka客户端依赖 146 8.2.3 Eureka客户端文件配置 146 8.3 Zuul高级特性 148 8.3.1 路由前缀 148 8.3.2 本地跳转 149 8.3.3 过滤器实现种类 149 8.3.4 入口规则配置 154 8.3.5 Zuul过滤器生命周期 155 8.3.6 Zuul过滤器禁用 156 8.3.7 Zuul过滤器的数据传递 156 8.3.8 服务降级处理 158 8.3.9 全局限流配置 158 8.3.10 局部限流配置 158 8.4 本章小结 159 第9章 Gateway网关 160 9.1 Gateway简介 160 9.1.1 Gateway的组成 160 9.1.2 Gateway实例 161 9.1.3 Gateway转发规则 162 9.2 本章小结 165 第10章 Admin管理中心 166 10.1 Admin实例 166 10.1.1 Admin服务端 166 10.1.2 Admin客户端 167 10.1.3 创建Eureka项目 170 10.1.4 查看服务日志 171 10.2 Admin高级特性 171 10.2.1 集成Hystrix UI展示 171 10.2.2 Admin安全配置 172 10.2.3 拦截监控端点处理 175 10.2.4 Session监控 175 10.2.5 展示客户端JMX信息 176 10.2.6 监控客户端配置 176 10.2.7 服务端集成Hystrix UI展示 177 10.2.8 监控告警服务 177 10.3 本章小结 178 第11章 文档管理工具 179 11.1 Swagger实例构建 179 11.1.1 Swagger响应 179 11.1.2 Springfox-Swagger简介 180 11.1.3 Swagger相关依赖 180 11.1.4 Swagger文件配置 180 11.1.5 Swagger启动 181 11.2 Swagger注解 182 11.2.1 @Api接口注解 182 11.2.2 @ApiIgnore隐藏接口 183 11.2.3 @ApiOperation方法注解 183 11.2.4 @ApiImplicitParam参数注解 184 11.2.5 @ApiResponse和@ApiResponses响应注解 185 11.2.6 @ApiModel参数注解 185 11.2.7 @ApiModelProperty字段注解 186 11.3 Swagger实例 186 11.3.1 项目结构 186 11.3.2 项目配置文件 187 11.3.3 权限模块 187 11.3.4 用户模块 189 11.3.5 订单模块 191 11.3.6 支付模块 192 11.3.7 商城模块 193 11.3.8 启动应用 194 11.3.9 请求认证 195 11.4 Postman使用方式 195 11.4.1 Postman基本使用方法 195 11.4.2 Postman主页 196 11.4.3 创建新的接口 196 11.4.4 接口集合 198 11.5 本章小结 202 第12章 MongoDB数据库 203 12.1 MongoDB简介 203 12.1.1 MongoDB的结构 203 12.1.2 MongoDB的特点 204 12.1.3 应用场景 204 12.1.4 可视化客户端 205 12.1.5 下载和安装 206 12.2 MongoDB实例 208 12.2.1 MongoDB依赖 208 12.2.2 MongoDB创建数据库 209 12.2.3 创建实体 213 12.2.4 用户方法 221 12.2.5 订单方法 222 12.2.6 支付方法 224 12.2.7 商品方法 225 12.3 MongoDB高级特性 227 12.3.1 MongoDB存储引擎 227 12.3.2 WiredTiger引擎 227 12.3.3 In-Memory引擎 228 12.3.4 不同存储引擎的区别 229 12.3.5 写安全机制 229 12.3.6 事务管理 230 12.3.7 数据回滚机制 231 12.3.8 MongoDB数据备份 231 12.3.9 MongoDB内存释放 232 12.3.10 MongoDB复制集 232 12.3.11 MongoDB元数据 232 12.3.12 MongoDB分片 232 12.4 本章小结 234 第13章 Redis缓存 235 13.1 Redis的基础用法 235 13.1.1 Redis的安装和启动 235 13.1.2 Redis可视化客户端 237 13.2 Redis实例 239 13.2.1 Redis组件 240 13.2.2 Redis信息配置 240 13.2.3 Redis key值存在判断 242 13.2.4 Redis设置key值 242 13.2.5 Redis获取key值 244 13.2.6 Redis缓存值 244 13.2.7 Redis缓存时间 246 13.2.8 Redis缓存过期时间设置 248 13.2.9 Redis获取缓存时间 249 13.2.10 Redis缓存删除 249 13.2.11 Redis缓存集合添加 250 13.2.12 Redis缓存集合查询 251 13.2.13 Redis根据key获取set集合 252 13.2.14 Redis整合缓存方法 253 13.2.15 设置key在指定时间过期 255 13.2.16 模糊匹配删除key 256 13.2.17 持久化key 257 13.2.18 哈希存储 259 13.2.19 读取哈希值 260 13.2.20 删除哈希值 260 13.3 Redis高级特性 263 13.3.1 Redis内部结构 263 13.3.2 最大缓存配置 263 13.3.3 Redis容量估算 263 13.3.4 Redis数据淘汰策略 264 13.3.5 Redis缓存算法 264 13.3.6 Redis事务 265 13.3.7 分区 265 13.3.8 Redis的序列化 266 13.3.9 Redis过期键删除策略 266 13.3.10 Redis锁机制 267 13.3.11 Redis单线程 267 13.3.12 Redis常见注解 268 13.3.13 Redis集群模式 269 13.3.14 持久化机制 270 13.3.15 Redis危险命令 271 13.4 缓存异常情况 271 13.4.1 缓存雪崩 271 13.4.2 缓存穿透 272 13.4.3 缓存击穿 272 13.5 本章小结 273 ? 第14章 异步消息队列Kafka 274 14.1 Kafka基本介绍 274 14.1.1 Kafka的定义和组件 274 14.1.2 Kafka消息协议 275 14.1.3 Kafka的优点 275 14.1.4 Kafka环境部署 276 14.1.5 Kafka可视化工具 277 14.2 Kafka实例 280 14.2.1 Kafka依赖 280 14.2.2 Kafka消息消费者 281 14.2.3 Kafka消息生产者 282 14.2.4 消息体构造 283 14.3 Kafka高级机制 283 14.3.1 Kafka分区机制 283 14.3.2 Kafka流式处理 284 14.3.3 Kafka副本和备份 285 14.3.4 消息持久化 285 14.3.5 数据存储 287 14.3.6 Kafka消费模型 287 14.3.7 Kafka日志配置 287 14.3.8 Kafka负载均衡 289 14.3.9 Kafka单元测试 290 14.4 Kafka常见问题 291 14.4.1 消息可靠性 291 14.4.2 Kafka消息丢失的问题 291 14.4.3 顺序消费 292 14.4.4 重复消费 293 14.5 Bus整合Kafka 293 14.5.1 Bus架构 293 14.5.2 项目结构 294 14.5.3 Bus和Kafka 295 14.5.4 项目启动 297 14.5.5 指定刷新范围 300 ? 14.6 Bus整合RabbitMQ 300 14.6.1 Erlang安装 300 14.6.2 Bus服务端文件配置 303 14.6.3 Bus启动 305 14.7 本章小结 306 前言/序言 Spring Cloud技术是目前Java微服务开发使用最广泛的技术之一,随着微服务思想的推广,Spring Cloud因其简单易用、组件丰富,以及便于快速开发部署、配置和监控等特性被越来越多的开发者用于各种场景中。 笔者在使用过程中就深深感受到了Spring Cloud的便捷和强大,它提供了一整套的微服务解决方案,如Eureka注册中心、Zuul和Gateway服务网关、Hystrix断路器、Ribbon负载均衡器,以及分布式配置Spring Cloud Config,每一种组件配置都能无缝接入。 本书特色 本书的特色是内容丰富翔实,讲解每章组件时不仅针对一个实例,而且是结合相关的知识进行扩展,并通过生活中的实例进行对比,将比较深奥的原理讲解得通俗易懂。 (1)内容翔实,覆盖了Spring Cloud微服务框架的大部分常用技术组件。 (2)深入浅出,将一些复杂的技术原理描述分析得通俗易懂,使复杂的问题简单化。 (3)理论和代码相结合,能让读者在实战中理解一个技术点的原理和应用。 (4)结合当下最热门和最新的技术点。 (5)对一些开发中遇到的问题进行深入的剖析。 本书内容 本书的内容如下。 (1)Spring Cloud微服务简介:介绍了Spring Cloud的大致结构和框架、微服务的优缺点,以及与Spring Boot的关系。 (2)微服务开发工具IDEA:包括一些快捷键的使用、文件的搜索和查看、代码调试技巧、第三方组件等。 (3)注册中心Eureka和Consul:介绍了注册中心的启动和配置。 (4)Feign客户端:介绍了Feign声明式客户的使用方法、服务降级、安全认证、超时配置、重试机制、熔断功能和负载均衡。 (5)Ribbon负载均衡器:介绍了Ribbon负载均衡器的服务端和客户端实例、超时配置、路由配置及负载均衡的机制等。 (6)Config配置中心和第三方配置中心:介绍了原生的Spring Cloud Config、阿里开源的Nacos、携程的Apollo及经典的ZooKeeper。 (7)Zuul网关和Gateway网关:介绍了网关的使用方式、路由规则,以及过滤器的配置、全局和局部的限流处理等。 (8)Spring Cloud Admin管理中心:介绍了Admin作为Spring Cloud的后台提供的一系列功能,如健康检查、监控警告、服务日志等。 (9)文档管理工具Swagger和Postman:介绍了文档管理工具Swagger集成到项目中的方式及注解方法,Postman的流程和操作使用方法。 (10)MongoDB数据库:介绍了MongoDB数据库的结构和特点,不同版本采用的存储引擎,MongoDB 4.0以上的事务管理功能。 (11)Redis缓存:介绍了Redis的常用操作指令、集合哈希等基本结构,缓存算法、数据淘汰策略,、集群模式等高级功能,缓存雪崩、缓存穿透和缓存击穿等异常情况。 (12)异步消息队列Kafka:介绍了Kafka的定义、环境部署,以及消息协议等基本功能,以及分区机制、副本机制、备份机制、文件存储机制、消息持久化等高级功能。 本书的思维导图如下。 本书读者对象 (1)Java和微服务初学者。 (2)各类计算机培训班学员。 (3)各计算机、非计算机专业的大中专院校实习学生。 (4)需要微服务入门工具书的人员。 (5)对微服务架构和Spring Cloud框架有兴趣的各类人员。 (6)想了解最新软件开发技术的爱好者。 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。