0 0 0

Spring Cloud微服务:入门、实战与进阶.epub

迷路的信
1月前 310
我用夸克网盘分享了「Spring Cloud微服务:入门、实战与进阶.epub」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
Spring Cloud微服务:入门、实战与进阶 作者: 尹吉欢 著 出版社: 机械工业出版社 出版年: 2019-6-18 页数: 400 定价: 89.00元 装帧: 平装 丛书: 云计算与虚拟化技术丛书 ISBN: 9787111627319

内容简介

这是一部从技术原理、工程实践和进阶提升3个维度讲解Spring Cloud微服务架构与开发的著作。 作者在Spring Cloud微服务领域有丰富的工程实践经验,它将带领读者零基础入门Spring Cloud微服务,并快速掌握动手实践能力,最终进阶为Spring Cloud微服务领域的技术达人。 全书共21章,分为4个部分: 第一部分 准备篇(第1~2章) 首先对微服务和Spring Cloud的概念、优劣势、功能模块等做了整体性的介绍,然后演示了如何搭建Spring Cloud的开发环境,最后对Spring Boot做了详细的介绍。 第二部分 基础篇(第3~7章) 对Eureka 注册中心、客户端负载均衡 Ribbon、声明式 REST 客户端 Feign、Hystrix 服务容错处理、API 网关等Spring Cloud的重要模块的技术原理、配置、使用等做了详尽的讲解。 第三部分 实战篇(第8~14章) 对微服务架构中的普遍问题给出了实战解决方案,包括选择配置中心、自研发配置中心、分布式跟踪、微服务安全认证、Spring Boot Admin 管理微服务、快速生成 API 文档等实用性内容。 第四部分 高级篇(15-21) 重点讲解了Spring Cloud的扩展性的使用,比如API网关、微服务的缓存和存储、分布式事务解决方案、任务调度、分库分表,以及大量优秀的生产实践经验等。

作者简介

资深Java技术专家和微服务技术专家,在Spring Cloud和微服务方面有丰富的经验。喜欢写代码,研究技术,主要关注分布式、高并发、后端服务,座右铭是“简单的技术爱好者”。 一直在上海从事Java服务端开发工作,前端也略有涉及。曾就职于鲁班软件,一起唱等互联网公司,目前就职于房产大数据公司房价网,担任技术经理,负责公司产品的开发和管理工作。 2016年创办了自己的技术网站‘猿天地’,主要提供Java相关技术的分享和视频课程。

网友热评

一掬净土: 一直都期待欢哥的第二版springcloud书,终于等到了,非常开心。赞一个,这本书除了基本的springcloud介绍之外,还也增加了apollo,gateway等内容的介绍,生产实践经验也有不少,还有完整的配套代码,非常好,感觉很不错,大家可以入手学习。 殊途同归: 这本书对Spring Cloud相关体系介绍的都比较全,作为学习Spring Cloud的入门书籍相当合适,书中的内容也比较贴近实战,看完之后不少东西可以直接在项目中进行运用,在Spring Cloud领域算是很值得一看的书籍。 ZeroIce: 架构的演进永无止境。2000年WebService出现后,SOA被誉为下一代Web服务的基础架构,已经成为计算机信息领域的一个新的发展方向。SOA经过十几年的发展,逐渐趋于成熟。微服务架构这一术语在2012年横空出世,用于描述一种特定的软件设计方法,即以若干组可独立部署的服务的方式进行软件应用系统的设计。每个小型服务都运行在自己的进程中。这些服务围绕业务、功能进行构建,并通过全自动的部署机制来进行独立部署。这些微服务可以使用不同的语言来编写,并且可以使用不同的数据存储技术。 容器及其相关技术的快速发展加速了微服务架构的成熟和普及,同时也涌现出一批新的微服务落地实施的解决方案,Spring Cloud便是其中的佼佼者。本书内容全面详尽,文字浅显易懂。如果你想快速学习和实战Spring Clo

图书目录

Contents目  录 赞誉 前言 第一部分 准备篇 第1章 SpringCloud与微服务概述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 什么是SpringCloud5 1.3.1 SpringCloud模块介绍6 1.3.2 SpringCloud版本介绍6 1.4 本章小结7 第2章 实战前的准备工作8 2.1 开发环境的准备8 2.2 SpringBoot入门9 2.2.1 SpringBoot简介9 2.2.2 搭建SpringBoot项目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 自定义actuator端点17 2.2.9 统一异常处理18 2.2.10 异步执行20 2.2.11 随机端口22 2.2.12 编译打包24 2.3 SpringBootStarter自定义25 2.3.1 SpringBootStarter项目创建25 2.3.2 自动创建客户端26 2.3.3 使用Starter27 2.3.4 使用注解开启Starter自动构建27 2.3.5 使用配置开启Starter自动构建28 2.3.6 配置Starter内容提示29 2.4 本章小结29 第二部分 基础篇 第3章 Eureka注册中心32 3.1 Eureka32 3.2 使用Eureka编写注册中心服务33 3.3 编写服务提供者35 3.3.1 创建项目注册到Eureka35 3.3.2 编写提供接口36 3.4 编写服务消费者37 3.4.1 直接调用接口37 3.4.2 通过Eureka来消费接口38 3.5 开启Eureka认证38 3.6 Eureka高可用搭建39 3.6.1 高可用原理39 3.6.2 搭建步骤40 3.7 常用配置讲解41 3.7.1 关闭自我保护41 3.7.2 自定义Eureka的 InstanceID41 3.7.3 自定义实例跳转链接42 3.7.4 快速移除已经失效的服务信息43 3.8 扩展使用44 3.8.1 EurekaRESTAPI44 3.8.2 元数据使用46 3.8.3 EurekaClient使用47 3.8.4 健康检查49 3.8.5 服务上下线监控50 3.9 本章小结51 第4章 客户端负载均衡Ribbon52 4.1 Ribbon52 4.1.1 Ribbon模块52 4.1.2 Ribbon使用53 4.2 RestTemplate结合Ribbon使用54 4.2.1 使用RestTemplate与整合Ribbon54 4.2.2 RestTemplate负载均衡示例57 4.2.3 @LoadBalanced注解原理58 4.2.4 RibbonAPI使用62 4.2.5 Ribbon饥饿加载63 4.3 负载均衡策略介绍64 4.4 自定义负载策略65 4.5 配置详解66 4.5.1 常用配置66 4.5.2 代码配置Ribbon67 4.5.3 配置文件方式配置Ribbon67 4.6 重试机制68 4.7 本章小结69 第5章 声明式REST客户端Feign70 5.1 使用Feign调用服务接口70 5.1.1 在SpringCloud中集成Feign71 5.1.2 使用Feign调用接口71 5.2 自定义Feign的配置72 5.2.1 日志配置72 5.2.2 契约配置73 5.2.3 Basic认证配置74 5.2.4 超时时间配置75 5.2.5 客户端组件配置75 5.2.6 GZIP压缩配置76 5.2.7 编码器解码器配置77 5.2.8 使用配置自定义Feign的配置78 5.2.9 继承特性78 5.2.10 多参数请求构造80 5.3 脱离SpringCloud使用Feign80 5.3.1 原生注解方式81 5.3.2 构建Feign对象82 5.3.3 其他配置83 5.4 本章小结83 第6章 Hystrix服务容错处理84 6.1 Hystrix84 6.1.1 Hystrix的简单使用84 6.1.2 回退支持85 6.1.3 信号量策略配置86 6.1.4 线程隔离策略配置86 6.1.5 结果缓存87 6.1.6 缓存清除88 6.1.7 合并请求89 6.2 在SpringCloud中使用Hystrix91 6.2.1 简单使用91 6.2.2 配置详解92 6.2.3 Feign整合Hystrix服务容错95 6.2.4 Feign中禁用Hystrix97 6.3 Hystrix监控97 6.4 整合Dashboard查看监控数据98 6.5 Turbine聚合集群数据100 6.5.1 Turbine使用100 6.5.2 context-path导致监控失败101 6.6 本章小结102 第7章 API网关103 7.1 Zuul简介103 7.2 使用Zuul构建微服务网关104 7.2.1 简单使用104 7.2.2 集成Eureka105 7.3 Zuul路由配置105 7.4 Zuul过滤器讲解106 7.4.1 过滤器类型106 7.4.2 请求生命周期107 7.4.3 使用过滤器108 7.4.4 过滤器禁用109 7.4.5 过滤器中传递数据110 7.4.6 过滤器拦截请求111 7.4.7 过滤器中异常处理113 7.5 Zuul容错和回退115 7.5.1 容错机制115 7.5.2 回退机制116 7.6 Zuul使用小经验118 7.6.1 /routes端点118 7.6.2 /filters端点118 7.6.3 文件上传119 7.6.4 请求响应信息输出121 7.6.5 Zuul自带的Debug功能124 7.7 Zuul高可用126 7.8 本章小结127 第三部分 实战篇 第8章 API网关之SpringCloudGateway130 8.1 SpringCloudGateway介绍130 8.2 SpringCloudGateway工作原理131 8.3 SpringCloudGateway快速上手131 8.3.1 创建Gateway项目131 8.3.2 路由转发示例132 8.3.3 整合Eureka路由133 8.3.4 整合Eureka的默认路由133 8.4 SpringCloudGateway路由断言工厂134 8.4.1 路由断言工厂使用134 8.4.2 自定义路由断言工厂136 8.5 SpringCloudGateway过滤器工厂137 8.5.1 SpringCloudGateway过滤器工厂使用137 8.5.2 自定义SpringCloudGateway过滤器工厂138 8.6 全局过滤器140 8.7 实战案例143 8.7.1 限流实战143 8.7.2 熔断回退实战145 8.7.3 跨域实战145 8.7.4 统一异常处理147 8.7.5 重试机制150 8.8 本章小结151 第9章 自研分布式配置管理152 9.1 自研配置管理框架Smconf简介152 9.2 Smconf工作原理153 9.3 Smconf部署154 9.3.1 Mongodb安装154 9.3.2 Zookeeper安装155 9.3.3 SmconfServer部署156 9.4 项目中集成Smconf157 9.4.1 集成Smconf157 9.4.2 使用Smconf158 9.4.3 配置更新回调159 9.5 Smconf详细使用160 9.5.1 源码编译问题160 9.5.2 后台账号管理160 9.5.3 RESTAPI161 9.6 Smconf源码解析163 9.6.1 Client启动163 9.6.2 启动加载配置165 9.6.3 配置修改推送原理166 9.7 本章小结167 第10章 分布式配置中心Apollo168 10.1 Apollo简介168 10.2 Apollo的核心功能点168 10.3 Apollo核心概念170 10.4 Apollo本地部署171 10.5 ApolloPortal管理后台使用172 10.6 Java中使用Apollo174 10.6.1 普通Java项目中使用174 10.6.2 SpringBoot中使用177 10.7 Apollo的架构设计179 10.7.1 Apollo架构设计介绍179 10.7.2 Apollo服务端设计181 10.7.3 Apollo客户端设计188 10.7.4 Apollo高可用设计195 10.8 本章小结196 第11章 Sleuth服务跟踪197 11.1 SpringCloud集成Sleuth197 11.2 整合Logstash198 11.2.1 ELK简介198 11.2.2 输出JSON格式日志198 11.3 整合Zipkin200 11.3.1 Zipkin数据收集服务200 11.3.2 项目集成Zipkin发送调用链数据201 11.3.3 抽样采集数据203 11.3.4 异步任务线程池定义203 11.3.5 TracingFilter204 11.3.6 监控本地方法205 11.3.7 过滤不想跟踪的请求206 11.3.8 用RabbitMq代替Http发送调用链数据206 11.3.9 用Elasticsearch存储调用链数据207 11.4 本章小结208 第12章 微服务之间调用的安全认证209 12.1 什么是JWT209 12.2 创建统一的认证服务210 12.2.1 表结构210 12.2.2 JWT工具类封装210 12.2.3 认证接口212 12.3 服务提供方进行调用认证212 12.4 服务消费方申请Token214 12.5 Feign调用前统一申请Token传递到调用的服务中216 12.6 RestTemplate调用前统一申请Token传递到调用的服务中217 12.7 Zuul中传递Token到路由的服务中218 12.8 本章小结219 第13章 SpringBootAdmin220 13.1 SpringBootAdmin的使用方法220 13.1.1 创建SpringBootAdmin项目220 13.1.2 将服务注册到SpringBootAdmin221 13.1.3 监控内容介绍223 13.1.4 如何在Admin中查看各个服务的日志225 13.2 开启认证226 13.3 集成Eureka227 13.4 监控服务228 13.4.1 邮件警报228 13.4.2 自定义钉钉警报229 13.5 本章小结232 第14章 服务的API文档管理233 14.1 Swagger简介233 14.2 集成Swagger管理API文档234 14.2.1 项目中集成Swagger234 14.2.2 使用Swagger生成文档234 14.2.3 在线测试接口235 14.3 Swagger注解236 14.4 Eureka控制台快速查看Swagger文档240 14.5 请求认证240 14.6 Zuul中聚合多个服务Swagger241 14.7 本章小结242 第四部分 高级篇 第15章 API网关扩展244 15.1 用户认证244 15.1.1 动态管理不需要拦截的API请求244 15.1.2 创建认证的用户服务246 15.1.3 路由之前的认证247 15.1.4 向下游微服务中传递认证之后的用户信息248 15.1.5 内部服务间的用户信息传递248 15.2 服务限流250 15.2.1 限流算法250 15.2.2 单节点限流251 15.2.3 集群限流255 15.2.4 具体服务限流258 15.2.5 具体接口限流258 15.3 服务降级262 15.4 灰度发布264 15.4.1 原理讲解264 15.4.2 根据用户做灰度发布265 15.4.3 根据IP做灰度发布268 15.5 本章小结268 第16章 微服务之缓存269 16.1 GuavaCache本地缓存269 16.1.1 GuavaCache简介269 16.1.2 代码示例270 16.1.3 回收策略270 16.2 Redis缓存271 16.2.1 用Redistemplate操作Redis271 16.2.2 用Repository操作Redis272 16.2.3 SpringCache缓存数据274 16.2.4 缓存异常处理278 16.2.5 自定义缓存工具类279 16.3 防止缓存穿透方案282 16.3.1 什么是缓存穿透282 16.3.2 缓存穿透的危害282 16.3.3 解决方案282 16.3.4 布隆过滤器介绍283 16.3.5 代码示例283 16.4 防止缓存雪崩方案284 16.4.1 什么是缓存雪崩284 16.4.2 缓存雪崩的危害284 16.4.3 解决方案284 16.4.4 代码示例285 16.4.5 分布式锁方式285 16.5 本章小结286 第17章 微服务之存储287 17.1 存储选型287 17.2 Mongodb288 17.2.1 集成SpringDataMongodb288 17.2.2 添加数据操作288 17.2.3 索引使用290 17.2.4 修改数据操作291 17.2.5 删除数据操作293 17.2.6 查询数据操作294 17.2.7 GridFS操作295 17.2.8 用Repository方式操作数据296 17.2.9 自增ID实现300 17.2.10 批量更新扩展303 17.3 Mysql304 17.3.1 集成SpringJdbc-Template304 17.3.2 JdbcTemplate代码示例305 17.3.3 封装JdbcTemplate操作Mysql更简单305 17.3.4 扩展JdbcTemplate使用方式306 17.3.5 常见问题310 17.4 Elasticsearch312 17.4.1 集成SpringDataElasticsearch312 17.4.2 Repository示例312 17.4.3 ElasticsearchTemplate示例315 17.4.4 索引构建方式318 17.5 本章小结319 第18章 微服务之分布式事务解决方案320 18.1 两阶段型320 18.2 TCC补偿型321 18.3 最终一致性321 18.3.1 原理讲解321 18.3.2 创建可靠性消息服务323 18.3.3 消息存储表设计324 18.3.4 提供服务接口325 18.3.5 创建消息发送系统329 18.3.6 消费消息逻辑332 18.3.7 消息管理系统335 18.4 最大努力通知型事务335 18.5 本章小结335 第19章 分布式任务调度336 19.1 Elastic-Job336 19.1.1 Elastic-Job介绍336 19.1.2 任务调度目前存在的问题336 19.1.3 为什么选择Elastic-Job337 19.2 快速集成338 19.3 任务使用339 19.3.1 简单任务339 19.3.2 数据流任务340 19.3.3 脚本任务340 19.4 配置参数讲解341 19.4.1 注册中心配置341 19.4.2 作业配置342 19.4.3 dataflow独有配置343 19.4.4 script独有配置343 19.5 多节点并行调度344 19.5.1 分片概念344 19.5.2 任务节点分片策略344 19.5.3 业务数据分片处理345 19.6 事件追踪347 19.7 扩展功能349 19.7.1 自定义监听器349 19.7.2 定义异常处理349 19.8 运维平台350 19.8.1 功能列表350 19.8.2 部署运维平台351 19.8.3 运维平台使用351 19.9 使用经验分享355 19.9.1 任务的划分和监控355 19.9.2 任务的扩展性和节点数量355 19.9.3 任务的重复执行355 19.9.4 overwrite覆盖问题356 19.9.5 流水式任务356 19.10 本章小结357 第20章 分库分表解决方案358 20.1 Sharding-JDBC358 20.1.1 介绍358 20.1.2 功能列表359 20.1.3 相关概念359 20.2 快速集成360 20.3 读写分离实战362 20.3.1 准备数据362 20.3.2 配置读写分离363 20.3.3 验证读从库363 20.3.4 验证写主库365 20.3.5 Hint强制路由主库366 20.4 分库分表实战367 20.4.1 常用分片算法367 20.4.2 使用分片算法368 20.4.3 不分库只分表实战368 20.4.4 既分库又分表实战372 20.5 分布式主键375 20.6 本章小结377 第21章 最佳生产实践经验378 21.1 开发环境和测试环境共用Eureka378 21.2 Swagger和Actuator访问进行权限控制379 21.3 SpringBootAdmin监控被保护的服务380 21.4 Apollo配置中心简化版搭建分享380 21.5 Apollo使用小经验382 21.5.1 公共配置382 21.5.2 账号权限383 21.5.3 环境配置和项目配置385 21.6 Apollo动态调整日志级别385 21.7 Apollo存储加密387 21.8 扩展Apollo支持存储加解密390 21.9 Apollo结合Zuul实现动态路由391 21.10 Apollo整合Archaius393 21.11 Elastic-Job的Spring-Boot-Starter封装394 21.12 SpringBoot中Mongodb多数据源封装396 21.13 Zuul中对API进行加解密398 21.14 本章小结400

Spring

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件[email protected]投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 亦森
  • 风间白鹿
  • 拴着骆驼砍羊.
  • cathy(凯丝)
  • 草莓酱哒小可耐
  • 情荒岛
  • 你留给我的只剩习惯
  • 其实都一样
  • 我的她她的他不爱她
  • 林间鹿
  • 幻影魅影
  • 慵懒又仙气
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!