标签分类 热门分类
当前位置:首页 > 程序设计电子书 > 微服务电子书网盘下载
微服务设计原理与架构 微服务设计原理与架构
jb51

jb51 提供上传

资源
24
粉丝
30
喜欢
427
评论
19

    微服务设计原理与架构 PDF 全书高清版

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

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

  • 微服务设计原理与架构 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1yWzsFET9VeqkkyplJ4Bmd
  • 提取码:haf1
  • 本书共分为四大篇幅内容,包括: 1. 直面微服务篇,剖析微服务架构的基本特征、优势和劣势,并给出实施微服务架构的系统方法。 2. 服务建模篇,介绍服务建模的思路和方法,并从服务拆分和集成角度对服务模型进行重点展开。 3. 服务实现篇,介绍微服务架构涉及的基础组件、关键要素以及目前主流的技术实现体系。 4. 服务转型篇,包括对遗留系统进行微服务架构的改造方法以及对研发过程转型的讨论。

    目录

    • 第一篇 直面微服务 1
    • 第1 章 直面微服务架构 2
    • 1.1 分布式系统 3
    • 1.1.1 单块系统的问题 3
    • 1.1.2 分布式系统的基本特征 6
    • 1.2 微服务架构 8
    • 1.2.1 微服务的概念 9
    • 1.2.2 微服务架构基础 10
    • 1.2.3 微服务架构与现有架构体系
    • 对比 12
    • 1.3 构建微服务架构的系统方法 14
    • 1.3.1 服务模型 15
    • 1.3.2 实现技术 15
    • 1.3.3 基础设施 16
    • 1.3.4 研发过程 16
    • 1.4 微服务架构的优势 16
    • 1.4.1 技术优势 16
    • 1.4.2 业务与组织优势 18
    • 1.5 微服务架构的挑战 20
    • 1.5.1 技术架构挑战 20
    • 1.5.2 研发过程挑战 21
    • 1.6 实施微服务架构 22
    • 1.6.1 微服务架构实施前提 22
    • 1.6.2 微服务架构实施模式 23
    • 1.7 本章小结 23
    • 第二篇 服务建模 24
    • 第2 章 服务建模方法 25
    • 2.1 服务分类 25
    • 2.1.1 服务的基本类别 26
    • 2.1.2 服务与业务 29
    • 2.2 服务模型 30
    • 2.2.1 服务的概念模型 31
    • 2.2.2 服务的统一表现形式 32
    • 2.3 服务边界 33
    • 2.3.1 识别业务领域及边界 33
    • 2.3.2 界限上下文 36
    • 2.3.3 服务边界划分的原则 41
    • 2.4 服务数据 41
    • 2.4.1 规范化数据模型的问题 41
    • 2.4.2 数据去中心化 42
    • 2.5 本章小结 47
    • 第3 章 服务拆分与集成 48
    • 3.1 服务拆分 49
    • 3.1.1 服务拆分的维度 49
    • 3.1.2 服务拆分的策略 50
    • 3.1.3 管理服务的依赖关系 53
    • 3.1.4 管理服务的数据 56
    • 3.1.5 管理事务的边界 59
    • 3.2 服务集成 61
    • 3.2.1 系统集成基础 61
    • 3.2.2 RPC 62
    • 3.2.3 REST 64
    • 3.2.4 消息传递 70
    • 3.2.5 服务总线 72
    • 3.2.6 数据复制 74
    • 3.2.7 客户端集成 76
    • 3.2.8 外部集成 78
    • 3.3 本章小结 80
    • 第三篇 服务实现 81
    • 第4 章 微服务架构基础组件 82
    • 4.1 服务通信 82
    • 4.1.1 网络连接 82
    • 4.1.2 IO 模型 83
    • 4.1.3 可靠性 85
    • 4.1.4 同步与异步 85
    • 4.2 事件驱动 88
    • 4.2.1 基本事件驱动架构 88
    • 4.2.2 事件驱动架构与领域模型 89
    • 4.3 负载均衡 92
    • 4.3.1 服务器端负载均衡 92
    • 4.3.2 客户端负载均衡 93
    • 4.3.3 负载均衡算法 94
    • 4.4 服务路由 95
    • 4.4.1 直接路由 95
    • 4.4.2 间接路由 96
    • 4.4.3 路由规则 96
    • 4.5 API 网关 97
    • 4.5.1 网关的作用 98
    • 4.5.2 网关的功能 99
    • 4.6 配置管理 100
    • 4.6.1 配置中心模型 101
    • 4.6.2 分布式协调机制 102
    • 4.7 本章小结 104
    • 第5 章 微服务架构关键要素 105
    • 5.1 服务治理 106
    • 5.1.1 服务注册中心 106
    • 5.1.2 服务发布与注册 109
    • 5.1.3 服务发现与调用 110
    • 5.1.4 服务监控 111
    • 5.2 数据一致性 113
    • 5.2.1 分布式事务 113
    • 5.2.2 CAP 理论与BASE 思想 116
    • 5.2.3 可靠事件模式 118
    • 5.2.4 补偿模式 124
    • 5.2.5 Sagas 长事务模式 126
    • 5.2.6 TCC 模式 127
    • 5.2.7 最大努力通知模式 133
    • 5.2.8 人工干预模式 135
    • 5.2.9 数据一致性模式总结 135
    • 5.3 服务可靠性 136
    • 5.3.1 服务访问失败的原因 136
    • 5.3.2 服务失败的应对策略 138
    • 5.3.3 服务容错 139
    • 5.3.4 服务隔离 140
    • 5.3.5 服务限流 143
    • 5.3.6 服务降级 145
    • 5.4 本章小结 148
    • 第6 章 微服务架构实现技术 149
    • 6.1 微服务架构实现技术选型 149
    • 6.1.1 技术选型的参考标准 150
    • 6.1.2 微服务实现框架对比 152
    • 6.2 Spring Boot 153
    • 6.2.1 Spring Boot 概览 154
    • 6.2.2 Spring Boot 核心原理 155
    • 6.3 Spring Cloud 157
    • 6.3.1 Spring Cloud 概览 157
    • 6.3.2 Spring Cloud Netflix Eureka
    • 与服务治理 159
    • 6.3.3 Spring Cloud Netflix Ribbon
    • 与负载均衡 165
    • 6.3.4 Spring Cloud Netflix Hystrix
    • 与服务容错 168
    • 6.3.5 Spring Cloud Netflix Zuul 与
    • API 网关 177
    • 6.3.6 Spring Cloud Config 与配置
    • 中心 180
    • 6.4 案例分析 184
    • 6.4.1 服务建模 184
    • 6.4.2 服务架构设计 186
    • 6.4.3 服务实现 188
    • 6.5 本章小结 193
    • 第7 章 微服务架构管理体系 194
    • 7.1 服务测试 194
    • 7.1.1 微服务测试的维度 195
    • 7.1.2 微服务测试实现方法 198
    • 7.1.3 消费者驱动的契约测试 200
    • 7.2 服务交付与部署 205
    • 7.2.1 微服务交付管理 205
    • 7.2.2 基于Docker 部署微服务 209
    • 7.3 服务监控 219
    • 7.3.1 日志聚合 220
    • 7.3.2 服务跟踪 224
    • 7.4 服务安全 227
    • 7.4.1 通用安全性技术 228
    • 7.4.2 安全性协议 230
    • 7.4.3 微服务中的安全性设计 235
    • 7.5 本章小结 237
    • 第四篇 服务转型 239
    • 第8 章 向微服务架构转型 240
    • 8.1 微服务架构转型过程与方法 241
    • 8.1.1 调整架构的技术 242
    • 8.1.2 微服务架构与现有系统 245
    • 8.1.3 微服务实施最佳实践 251
    • 8.2 微服务架构与研发过程转变 256
    • 8.2.1 产品管理转变 256
    • 8.2.2 组织架构转变 259
    • 8.2.3 研发文化转变 262
    • 8.3 微服务架构转型案例分析 264
    • 8.3.1 系统描述 264
    • 8.3.2 微服务架构改造整体方案 268
    • 8.3.3 微服务架构改造第一阶段 268
    • 8.3.4 微服务架构改造第二阶段 273
    • 8.3.5 微服务架构改造第三阶段 280
    • 8.3.6 微服务架构改造第四阶段 285
    • 8.4 本章小结 290
    • 参考文献 291

    上一篇:财务达人教你玩转Excel  下一篇:自己动手做iOS App:从设计开发到上架App Store

    展开 +

    收起 -

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

    Servlet+MyBatis项目转Spring Cloud微服务,多数据源配置修改建议

    一、项目需求 在开发过程中,由于技术的不断迭代,为了提高开发效率,需要对原有项目的架构做出相应的调整。 二、存在的问题 为了不影响项目进度,架构调整初期只是把项目做了简单的maven管理,引入springboot并未做spring cloud微服务处理。但随着项目的进一步开发,急需拆分现有业务,做微服务处理。因此架构上的短板日益突出。spring cloud config 无法完全应用,每次项目部署需要修改大量配置文件。严重影响开发效率,因此便萌生了对项目架构再次调整的决心。 三、调整建议 为了兼容以前的代码版本,尽量不修改现有的代码结构,以免增加额外的工作量并且为了更好的应用cloud config。 首先,创建JdbcConfigBean类,用以读取配置文件,实例代码入如下(仅供参考): import org.springframework.beans.factory.annotation.Value;import org.springframework.cloud.context.config.annotation.RefreshScope;import org.springframework.stereotype.Component;@RefreshScope@Component("jdbcConfigBean")public class JdbcConfigBean { @Value("${jdbc.driver}") private String driver; @Value("${db1.jdbc.url}") private String url; @Value("${db1.jdbc.username}") private String username; @Value("${db1.jdbc.password}") private String password; @Value("${db2.jdbc.url}") private String db2_url; @Value("${db2.jdbc.username}") private String db2_username; @Value("${db2.jdbc.password}") private Str……

    网友NO.675825

    springcloud使用Hystrix进行微服务降级管理

    前言:目前我们的项目是微服务架构,基于dubbo框架,服务之间的调用是通过rpc调用的。刚开始没有任何问题,项目运行健康、良好。可是过了一段时间,线上总有人反应查询订单失败,等过了一段时间才能查到。这是怎么回事呢?打开后台的日志一看出现了一些RpcException和TimeOutException,原来是远程调用超时了,可能某个服务在请求的高发期访问数据库异常,IO阻塞,返回接口异常了。后来这个问题越来越频繁,如何解决这个棘手的问题呢? 一:Hystrix是什么? 1.1:基本解释 Hystrix最开始由Netflix(看过美剧的都知道,它是一个美剧影视制作的巨头公司)开源的,后来由Spring Cloud Hystrix基于这款框架实现了断路器、线程隔离等一系列服务保护功能,该框架的目标在于通过控制访问远程系统、服务和第三方库的节点,从而延迟和故障提供更强大的容错能力。hystrix具备服务降级、服务熔断、线程和信号隔离、请求缓存、请求合并以及服务监控等强大功能。起到了微服务的保护机制,防止某个单元出现故障.从而引起依赖关系引发故障的蔓延,最终导致整个系统的瘫痪。 1.2:断路器的概念 断路器本身是一个开关装置,用在电路上保护线路过载,当线路中有电器发生短路的时候。“断路器”能够及时切断故障,防止发生过载、发热甚至起火等严重后果……

    网友NO.811677

    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.682474

    详解Spring Cloud微服务架构下的WebSocket解决方案

    WebSocket在现代浏览器中的应用已经算是比较普遍了,在某些业务场景下,要求必须能够在服务器端推送消息至客户端。在没有WebSocket的年代,我们使用过dwr,在那个时候dwr真实一个非常棒的方案。但是在WebSocket兴起之后,我们更愿意使用标准实现来解决问题、 首先交代一下,本篇文章不讲解WebSocket的配置,主要讲的是针对在微服务架构集群模式下解决方案的选择。 微服务架构大家应该都不陌生了,在微服务架构下,服务是分布式的,而且为了保证业务的可用性,每个服务都是以集群的形式存在。在集群模式下,要保证集群的每一个节点的访问得到相同的结果就需要做到数据一致性,如缓存、session等。 微服务集群缓存通常使用分布式缓存redis解决,session一致性也通常会通过redis解决,但是现在更流行的是无状态的Http,即无session化,最常见的解决方案就是OAuth。 WebSocket有所不同,它是与服务端建立一个长连接,在集群模式下,显然不可能把前端与服务集群中的每一个节点建立连接,一个可行的思路是像解决http session的共享一样,通过redis来实现websocket的session共享,但是websocket session的数量是远多于http session的数量的(因为每打开一个页面都会建立一个websocket连接),所以随着用户量的增长,共享的数据量太大,很容易造成……

    Copyright 2018-2020 xz577.com 码农之家

    电子书资源由网友、会员提供上传,本站记录提供者的基本信息及资源来路

    鸣谢: “ 码小辫 ” 公众号提供回调API服务、“ 脚本CDN ”提供网站加速(本站寻求更多赞助支持)

    版权投诉 / 书籍推广 / 赞助:520161757@qq.com

    上传资源(网友、会员均可提供)

    查看最新会员资料及资源信息