标签分类
当前位置:首页 > 程序设计电子书 > 微服务电子书网盘下载
微服务架构实战:基于Spring Boot、Spring Cloud、Docker 微服务架构实战:基于Spring Boot、Spring Cloud、Docker
prometheusgreen

prometheusgreen 提供上传

资源
38
粉丝
14
喜欢
204
评论
2

    微服务架构实战:基于Spring Boot、Spring Cloud、Docker PDF 影印超清版

    微服务电子书
    • 发布时间:

    给大家带来的一篇关于微服务相关的电子书资源,介绍了关于微服务架构、Spring、Boot、Spring、Cloud、Docker方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小179.6 MB,郑天民编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.3,更多相关的学习资源可以参阅 程序设计电子书、等栏目。

  • 微服务架构实战:基于Spring Boot、Spring Cloud、Docker PDF 下载
  • 下载地址:https://pan.baidu.com/s/1q1qQoP1oCOpHiJTIATVRcg
  • 分享码:2xt1
  • 微服务架构实战:基于Spring Boot、Spring Cloud、Docker PDF

    1.根据Spring Boot、Spring Cloud、Docker等技术性搭建微保障体系。

    2.精减而详细的经典案例展现保持分布式架构的详细宏伟蓝图。

    3.融合业务流程情景,根据全方位实例得出专用工具在搭建分布式架构中的工程项目实战演练。

    4.创作者有近10年互联网行业从事工作经验,主持人和参加过好几个大中型公司级运用和移动互联系统软件的开发设计和管理方面,北风网特聘老师,授课系统架构图与技术水平的管理有关课程内容。

    这书关键包括分布式架构保持全过程中应当具有的技术性管理体系和工程项目实践活动,紧紧围绕保持分布式架构的基本部件和重要因素,人们将探讨应用Spring Boot搭建服务项目、服务项目整治、负载均衡、服务项目试错、API网关ip、配备管理中心、事件驱动、服务项目安全性、服务项目监控器、服务项目检测和Docker与服务项目布署等关键主题风格,并根据这种关键主题风格得出实际的经典案例。

    目录

    • 第1章 微服务架构设计 1
    • 1.1 直面微服务架构 1
    • 1.1.1 分布式系统与微服务架构 1
    • 1.1.2 微服务架构的优势与挑战 3
    • 1.1.3 实施微服务架构 5
    • 1.2 服务建模方法 6
    • 1.2.1 服务的模型 6
    • 1.2.2 服务的边界 7
    • 1.2.3 服务的数据 7
    • 1.3 服务拆分与集成 8
    • 1.3.1 服务拆分 8
    • 1.3.2 服务集成 9
    • 1.4 微服务架构的基础组件和
    • 关键要素 10
    • 1.4.1 微服务架构的基础组件 11
    • 1.4.2 微服务架构的关键元素 11
    • 1.5 实现微服务架构 13
    • 1.5.1 微服务架构技术体系 13
    • 1.5.2 微服务架构实现技术选型 14
    • 1.6 案例分析 17
    • 1.7 全书架构 18
    • 1.8 本章小结 19
    • 第2章 使用Spring Boot构建
    • 服务 21
    • 2.1 引入Spring Boot 21
    • 2.2 基于Spring Boot的第一个服务 23
    • 2.2.1 环境准备 23
    • 2.2.2 实现RESTful服务 24
    • 2.3 Spring Boot常见功能 28
    • 2.3.1 集成Spring Data 28
    • 2.3.2 集成消息中间件 37
    • 2.3.3 系统监控 39
    • 2.4 Spring Boot基本原理 44
    • 2.5 本章小结 46
    • 第3章 Spring Cloud Netflix
    • Eureka与服务治理 47
    • 3.1 服务治理解决方案 48
    • 3.1.1 服务治理的需求和模型 48
    • 3.1.2 服务治理的基本方案 49
    • 3.2 构建Eureka服务 52
    • 3.2.1 构建单个Eureka服务器 52
    • 3.2.2 构建Eureka服务器集群 55
    • 3.3 使用Eureka注册和发现服务 57
    • 3.3.1 通过配置实现服务注册 58
    • 3.3.2 获取服务注册信息 59
    • 3.4 Eureka基本架构 61
    • 3.4.1 Eureka服务注册和发现架构 61
    • 3.4.2 Eureka高可用架构 64
    • 3.4.3 Eureka区域亲和性 65
    • 3.5 本章小结 66
    • 第4章 Spring Cloud Netflix Ribbon
    • 与负载均衡 67
    • 4.1 负载均衡 68
    • 4.1.1 负载均衡的类型 68
    • 4.1.2 负载均衡的算法 70
    • 4.2 使用Ribbon实现客户端负载均衡 71
    • 4.2.1 Spring Cloud Netflix Ribbon
    • 简介 71
    • 4.2.2 使用DiscoveryClient查找服务 72
    • 4.2.3 通过RestTemplate调用服务 74
    • 4.3 Ribbon基本架构 78
    • 4.3.1 Ribbon核心机制 79
    • 4.3.2 Ribbon负载均衡策略 81
    • 4.3.3 @LoadBalanced注解与
    • RestTemplate 82
    • 4.3.4 @RibbonClient注解与自定义
    • 负载均衡策略 83
    • 4.4 本章小结 85
    • 第5章 Spring Cloud Netflix
    • Hystrix与服务容错 86
    • 5.1 服务消费者容错思想和模式 87
    • 5.1.1 服务消费者容错的需求 87
    • 5.1.2 服务隔离 88
    • 5.1.3 服务熔断 90
    • 5.1.4 服务回退 91
    • 5.2 使用Hystrix实现服务容错 91
    • 5.2.1 引入Hystrix 92
    • 5.2.2 使用Hystrix实现服务隔离 93
    • 5.2.3 使用Hystrix实现服务熔断 96
    • 5.2.4 使用Hystrix实现服务回退 99
    • 5.3 Hystrix基本原理 101
    • 5.3.1 服务隔离 101
    • 5.3.2 服务熔断 103
    • 5.3.3 Hystrix配置项 105
    • 5.4 本章小结 109
    • 第6章 Spring Cloud Netflix Zuul
    • 与API网关 110
    • 6.1 服务网关的设计理念 111
    • 6.1.1 服务网关的作用 111
    • 6.1.2 服务网关的结构和功能 112
    • 6.2 使用Zuul构建服务网关 113
    • 6.2.1 构建Zuul服务器 113
    • 6.2.2 配置Zuul服务路由 115
    • 6.3 Zuul基本架构 120
    • 6.3.1 ZuulFilter组件架构 120
    • 6.3.2 使用Zuul过滤器 124
    • 6.4 本章小结 129
    • 第7章 Spring Cloud Config
    • 与配置中心 130
    • 7.1 分布式配置中心方案 131
    • 7.1.1 分布式配置模型 131
    • 7.1.2 配置中心实现工具 133
    • 7.2 构建配置中心服务器 134
    • 7.2.1 引入Spring Cloud Config 134
    • 7.2.2 实现基于本地文件系统的
    • 配置方案 135
    • 7.2.3 实现基于Git的配置方案 139
    • 7.3 使用配置服务 140
    • 7.3.1 访问配置项 141
    • 7.3.2 配置数据安全性 145
    • 7.4 Spring Cloud Config特性 148
    • 7.4.1 Spring Cloud Config对比
    • Zookeeper 148
    • 7.4.2 Spring Cloud Config高可用 149
    • 7.5 本章小结 150
    • 第8章 Spring Cloud Stream与
    • 事件驱动 151
    • 8.1 事件驱动架构与模型 152
    • 8.1.1 基本事件驱动架构与实现
    • 机制 152
    • 8.1.2 事件驱动与领域模型 155
    • 8.2 引入Spring Cloud Stream 157
    • 8.2.1 Spring Cloud Stream基本
    • 架构 157
    • 8.2.2 Spring Cloud Stream与Spring
    • Integration 159
    • 8.2.3 Spring Cloud Stream与消息
    • 中间件 162
    • 8.3 实现消息发布者 165
    • 8.3.1 消息发送场景与实现流程 165
    • 8.3.2 在服务中添加消息发布者 166
    • 8.4 实现消息消费者 170
    • 8.4.1 消息消费场景与实现流程 170
    • 8.4.2 在服务中添加消息消费者 172
    • 8.5 本章小结 177
    • 第9章 Spring Cloud Security与
    • 服务安全 178
    • 9.1 服务访问安全性与OAuth协议 178
    • 9.1.1 微服务架构中的安全性设计 179
    • 9.1.2 OAuth协议 180
    • 9.2 构建OAuth认证服务器 184
    • 9.2.1 引入Spring Cloud Security 185
    • 9.2.2 初始化用户与客户端 186
    • 9.2.3 生成Token 191
    • 9.3 使用OAuth保护服务访问 195
    • 9.3.1 集成OAuth认证服务 195
    • 9.3.2 创建服务访问策略 196
    • 9.3.3 使用OAuth2RestTemplate
    • 传播Token 201
    • 9.4 本章小结 206
    • 第10章 Spring Cloud Sleuth与
    • 服务监控 207
    • 10.1 服务监控与Spring Cloud Sleuth 207
    • 10.1.1 服务监控基本原理 207
    • 10.1.2 引入Spring Cloud Sleuth 209
    • 10.2 整合Spring Cloud Sleuth与
    • Zipkin 215
    • 10.2.1 Zipkin基本结构 215
    • 10.2.2 引入Zipkin 216
    • 10.2.3 使用Zipkin跟踪服务调用
    • 链路 218
    • 10.2.4 使用Zipkin实现自定义
    • 跟踪 226
    • 10.3 本章小结 228
    • 第11章 Spring Test与服务测试 230
    • 11.1 微服务测试的方法 231
    • 11.1.1 单元测试 231
    • 11.1.2 集成测试 233
    • 11.1.3 端到端测试 233
    • 11.2 测试Spring Boot应用程序 234
    • 11.2.1 初始化测试环境 234
    • 11.2.2 执行单元测试 237
    • 11.3 使用Mock和注解实施集成
    • 测试 241
    • 11.3.1 使用@JsonTest注解测试
    • JSON数据 242
    • 11.3.2 使用@DataJpaTest注解测试
    • Repository层 244
    • 11.3.3 使用Mock测试Service层 248
    • 11.3.4 使用Mock和@WebMvcTest
    • 注解测试Controller层 252
    • 11.4 消费者驱动的契约测试 254
    • 11.4.1 面向契约的端对端测试 254
    • 11.4.2 实现面向契约的端对端
    • 测试 257
    • 11.5 本章小结 266
    • 第12章 Docker与服务部署 267
    • 12.1 Docker与微服务架构 267
    • 12.1.1 Docker的优势 268
    • 12.1.2 Docker组件与命令 268
    • 12.2 使用Dockerfile构建服务镜像 272
    • 12.2.1 Dockerfile命令 272
    • 12.2.2 使用Dockerfile命令构建
    • 镜像 273
    • 12.3 使用Docker Compose编排
    • 服务 276
    • 12.3.1 Docker Compose组件与
    • 命令 276
    • 12.3.2 使用Docker Compose 279
    • 12.3.3 Docker Compose案例分析 281
    • 12.4 本章小结 283
    • 参考文献 284

    上一篇:小学生C++趣味编程  下一篇:Spring MVC+MyBatis开发从入门到项目实战

    展开 +

    收起 -

    码小辫二维码
     ←点击下载即可登录

    微服务相关电子书
    学习笔记
    网友NO.867010

    了解java架构之微服务架构—雪崩效应

    前言 微服务化产品线,每一个服务专心于自己的业务逻辑,并对外提供相应的接口,看上去似乎很明了,其实还有很多的东西需要考虑,比如:服务的自动扩充,熔断和限流等,随着业务的扩展,服务的数量也会随之增多,逻辑会更加复杂,一个服务的某个逻辑需要依赖多个其他服务才能完成。 一但一个依赖不能提供服务很可能会产生雪崩效应,最后导致整个服务不可访问。 微服务之间进行rpc或者http调用时,我们一般都会设置调用超时,失败重试等机制来确保服务的成功执行,看上去很美,如果不考虑服务的熔断和限流,就是雪崩的源头。 假设我们有两个访问量比较大的服务A和B,这两个服务分别依赖C和D,C和D服务都依赖E服务 A和B不断的调用C,D处理客户请求和返回需要的数据。当E服务不能供服务的时候,C和D的超时和重试机制会被执行 由于新的调用不断的产生,会导致C和D对E服务的调用大量的积压,产生大量的调用等待和重试调用,慢慢会耗尽C和D的资源比如内存或CPU,然后也down掉。 A和B服务会重复C和D的操作,资源耗尽,然后down掉,最终整个服务都不可访问。 常见的导致雪崩的情况有以下几种: 程序bug导致服务不可用,或者运行缓慢 缓存击穿,导致调用全部访问某服务,导致down掉 访问量的突然激增。 硬件问题……

    网友NO.545742

    详解Spring Boot微服务如何集成fescar解决分布式事务问题

    什么是fescar? 关于fescar的详细介绍,请参阅fescar wiki。 传统的2PC提交协议,会持有一个全局性的锁,所有局部事务预提交成功后一起提交,或有一个局部事务预提交失败后一起回滚,最后释放全局锁。锁持有的时间较长,会对并发造成较大的影响,死锁的风险也较高。 fescar的创新之处在于,每个局部事务执行完立即提交,释放本地锁;它会去解析你代码中的sql,从数据库中获得事务提交前的事务资源即数据,存放到undo_log中,全局事务协调器在回滚的时候直接使用undo_log中的数据覆盖你提交的数据。 Spring Boot如何集成fescar? 我们可以从官方代码库中看到,fescar目前提供的示例是针对使用dubbo的服务,那Spring Boot的项目如何集成fescar呢? 和很多2PC提交协议(如tx_lcn)的解决方案一样,fescar也是在数据源处做了代理,和事务协调器进行通信,来决定本地事务是否回滚。所以,第一步,在你的spring boot项目中,首先应使用fescar提供的代理数据源作为你的数据源,例如: DruidDataSource dataSource = initDataSource(dataSourceProps.get("url").toString(), dataSourceProps.get("username").toString(), dataSourceProps.get("password").toString());DataSourceProxy proxy = new DataSourceProxy(dataSource); 然后,你需要创建一个Feign拦截器,把RootContext中的XID(XID用于标识一个局部事务属于哪个全局……

    网友NO.377651

    使用Feign实现微服务间文件传输

    在很多时候我们会遇到微服务之间文件传输,很多时候我们可以通过序列化等方式解决(如图片等)。 最近项目中有个excel上传,以及多媒体文件上传,直接报错。 也试了2种解决方式,都不可行。 1.写一个文件Encoder解析器,会出现其他的rest请求出现encoder错误 2.springcloud feign有一个规范,不可以传输2个对象,可以是一个对象带几个参数方式。 那么我们现在需要一种方式,不配置全局的解析器,而是通过Feign Builder 去管理上传文件,这种方式管理起来也较为方便。 引用包 dependency groupIdcom.netflix.feign/groupId artifactIdfeign-core/artifactId version8.17.0/version/dependencydependency groupIdcom.netflix.feign/groupId artifactIdfeign-jackson/artifactId version8.17.0/version/dependencydependency groupIdcom.netflix.feign/groupId artifactIdfeign-slf4j/artifactId version8.17.0/version/dependency 调用方式 @ApiOperation(value = "上传Excel", notes = "上传Excel")@RequestMapping(value = "/imExcel", method = RequestMethod.POST, produces = request_headers)public ActionResult imExcel(@RequestBody MultipartFile file,@RequestParam("operatorId") Integer operatorId){ if(file == null || file.isEmpty()|| operatorId==null) return new ActionResult(ResultType.BAD_REQUEST,"文件与操作用户ID都不能为空"); String fileName = file.getOriginalFilename(); if (!fileName.matches("^.+\\.(?i)(xls)$") !fileName.matches("^.+\\.(?i)(xlsx)$")……

    网友NO.247491

    浅谈Spring Boot 微服务项目的推荐部署方式

    如果开发过spring boot的程序,应该都知道,使用 spring boot 官方的 maven 打包插件(spring-boot-maven-plugin) 来打包,打出来的jar包一般有40M以上. 如果公司的服务器上传带宽不高,那么手动上传一个jar或者jenkins部署一次jar,都是非常痛苦的........ 但是,如果打包的时候不引入lib,那么打出来的jar包一般只有几十k而已,非常小,想怎么传就怎么传......... 本文会提供一个 bash 启动脚本,只需要稍做更改,即可适应你的程序部署方式. 先看一下我的微服务目录结构: service/ =================== 服务根目录├── bootstrap.sh ============ 公用启动脚本├── lib ==================== 公用lib,如果有特殊的服务,不需要共用的jar,则需要添加私用的启动脚本,和私用的lib│ ├── accessors-smart-1.1.jar│ ├── asm-5.0.3.jar...... ======================= jar包太多,省略.├── service0 =============== 一个微服务│ ├── application.yml ======= 这个配置文件作用仅仅是控制不同环境的使用的不同配置文件,内容非常简单: spring.profiles.active: dev │ └── service0.jar ========= 核心jar└── service1 ├── application.yml └── service1.jar 插一句:这里没有使用docker,日后有空,再写一篇基于docker的spring boot微服务部署. 这样一来,如果我要启动service0,只需要在service目录下输入: ./bootstrap.sh start service0 即可启动service0 最后……

    Copyright 2018-2019 xz577.com 码农之家

    版权责任说明