Mountebank微服务测试+微服务架构设计模式 微服务设计微服务实战微服务技巧Moupdf下载

Mountebank微服务测试+微服务架构设计模式 微服务设计微服务实战微服务技巧Mou百度网盘pdf下载

作者:
简介:Mountebank微服务测试+微服务架构设计模式 微服务设计微服务实战微服务技巧Mou
出版社:
出版时间:2019-12
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍



商品参数

【全2册】Mountebank微服务测试+微服务架构设计模式
定价 218.80
ISBN编码 9787302540892


内容介绍

微服务架构设计模式
定价 139.00
出版社 机械工业出版社
出版时间 2019年05月
开本 16
作者 [美]克里斯·理查森
页数 484
ISBN编码 9787111624127



内容介绍

本书共13章,第1章引入了微服务架构模式语言的概述;第2章解释了为什么软件架构很重要,并描述了可用于将应用程序分解为服务的模式;第3章介绍了微服务架构中强大的进程间通信的几种模式;第4章介绍Saga模式;第5章介绍领域驱动设计(DDD)的聚合和领域事件等模式的使用;第6章介绍如何使用事件溯源模式;第7章介绍如何使用 API 组合模式或命令查询责任隔离(CQRS)模式;第8章介绍外部 API 模式;第9章和第10章介绍微服务自动化测试技术;第11章介绍开发生产就绪服务的各个方面;第12章介绍部署模式;第13章介绍绞杀者模式。


目录

写给中文版读者的话

译者序

中文版序一

中文版序二

前言

引言

第1章 逃离单体地狱   / 1

1.1 迈向单体地狱的漫长旅程   / 2

1.1.1 FTGO应用程序的架构   / 3

1.1.2 单体架构的好处   / 4

1.1.3 什么是单体地狱   / 4

1.2 为什么本书与你有关   / 7

1.3 你会在本书中学到什么   / 8

1.4 拯救之道:微服务架构   / 8

1.4.1 扩展立方体和服务   / 9

1.4.2 微服务架构作为模块化的一种形式   / 11

1.4.3 每个服务都拥有自己的数据库   / 12

1.4.4 FTGO的微服务架构   / 12

1.4.5 微服务架构与SOA的异同   / 14

1.5 微服务架构的好处和弊端   / 15

1.5.1 微服务架构的好处   / 15

1.5.2 微服务架构的弊端   / 17

1.6 微服务架构的模式语言   / 19

1.6.1 微服务架构并不是“银弹”   / 20

1.6.2 模式和模式语言   / 21

1.6.3 微服务架构的模式语言概述   / 24

1.7 微服务之上:流程和组织   / 29

1.7.1 进行软件开发和交付的组织   / 30

1.7.2 进行软件开发和交付的流程   / 31

1.7.3 采用微服务架构时的人为因素   / 32

第2章 服务的拆分策略   / 34

2.1 微服务架构到底是什么   / 35

2.1.1 软件架构是什么,为什么它如此重要   / 35

2.1.2 什么是架构的风格   / 37

2.1.3 微服务架构是一种架构风格   / 40

2.2 为应用程序定义微服务架构   / 43

2.2.1 识别系统操作   / 45

2.2.2 根据业务能力进行服务拆分   / 50

2.2.3 根据子域进行服务拆分   / 53

2.2.4 拆分的指导原则   / 54

2.2.5 拆分单体应用为服务的难点   / 56

2.2.6 定义服务API   / 59

第3章 微服务架构中的进程间通信   / 63

3.1 微服务架构中的进程间通信概述   / 64

3.1.1 交互方式   / 64

3.1.2 在微服务架构中定义API   / 66

3.1.3 API的演化   / 67

3.1.4 消息的格式   / 69

3.2 基于同步远程过程调用模式的通信   / 70

3.2.1 使用REST   / 71

3.2.2 使用gRPC   / 74

3.2.3 使用断路器模式处理局部故障   / 75

3.2.4 使用服务发现   / 78

3.3 基于异步消息模式的通信   / 82

3.3.1 什么是消息传递   / 83

3.3.2 使用消息机制实现交互方式   / 84

3.3.3 为基于消息机制的服务API创建API规范   / 86

3.3.4 使用消息代理   / 87

3.3.5 处理并发和消息顺序   / 91

3.3.6 处理重复消息   / 92

3.3.7 事务性消息   / 93

3.3.8 消息相关的类库和框架   / 97

3.4 使用异步消息提高可用性   / 99

3.4.1 同步消息会降低可用性   / 99

3.4.2 消除同步交互   / 101

第4章 使用Saga管理事务    / 106

4.1 微服务架构下的事务管理   / 107

4.1.1 微服务架构对分布式事务的需求   / 108

4.1.2 分布式事务的挑战   / 109

4.1.3 使用Saga模式维护数据一致性   / 109

4.2 Saga的协调模式   / 113

4.2.1 协同式Saga   / 113

4.2.2 编排式Saga   / 117

4.3 解决隔离问题   / 121

4.3.1 缺乏隔离导致的问题   / 122

4.3.2 Saga模式下实现隔离的对策   / 123

4.4 Order Service和Create Order Saga的设计   / 127

4.4.1 OrderService类   / 128

4.4.2 Create Order Saga的实现   / 129

4.4.3 OrderCommandHandlers类   / 136

4.4.4 OrderServiceConfiguration类   / 138

第5章 微服务架构中的业务逻辑设计   / 141

5.1 业务逻辑组织模式   / 142

5.1.1 使用事务脚本模式设计业务逻辑   / 143

5.1.2 使用领域模型模式设计业务逻辑   / 144

5.1.3 关于领域驱动设计   / 146

5.2 使用聚合模式设计领域模型   / 146

5.2.1 模糊边界所带来的问题   / 147

5.2.2 聚合拥有明确的边界   / 149

5.2.3 聚合的规则   / 150

5.2.4 聚合的颗粒度   / 152

5.2.5 使用聚合设计业务逻辑   / 153

5.3 发布领域事件   / 154

5.3.1 为什么需要发布变更事件   / 154

5.3.2 什么是领域事件   / 155

5.3.3 事件增强   / 155

5.3.4 识别领域事件   / 156

5.3.5 生成和发布领域事件   / 157

5.3.6 消费领域事件   / 161

5.4 Kitchen Service的业务逻辑   / 162

5.5 Order Service的业务逻辑   / 167

5.5.1 Order聚合   / 169

5.5.2  OrderService类   / 173

第6章 使用事件溯源开发业务逻辑   / 176

6.1 使用事件溯源开发业务逻辑概述   / 177

6.1.1 传统持久化技术的问题   / 177

6.1.2 什么是事件溯源   / 179

6.1.3 使用乐观锁处理并发更新   / 186

6.1.4 事件溯源和发布事件   / 186

6.1.5 使用快照提升性能   / 188

6.1.6 幂等方式的消息处理   / 189

6.1.7 领域事件的演化   / 190

6.1.8 事件溯源的好处   / 192

6.1.9 事件溯源的弊端   / 193

6.2 实现事件存储库   / 194

6.2.1 Eventuate Local事件存储库的工作原理   / 195

6.2.2 Eventuate的Java客户端框架   / 198

6.3 同时使用Saga和事件溯源   / 201

6.3.1 使用事件溯源实现协同式Saga   / 203

6.3.2 创建编排式Saga   / 203

6.3.3 实现基于事件溯源的Saga参与方   / 205



目录

Mountebank微服务测试
定价 79.80
出版社 清华大学出版社
出版时间 2019年12月
开本 16
作者 [美] 布兰登·贝耶斯
页数 212
ISBN编码 9787302540892



内容介绍

《Mountebank微服务测试》主要介绍如何使用mountebank测试微服务,通过阅读,可以深入了解mountebank的全部功能以及服务虚拟化的适用范围。无论是微服务系统的开发工程师,还是进行QA或者性能测试的测试工程师,以及将客户需求转换为实际可执行项目的解决方案架构师,都适合阅读。
1. 服务虚拟化的核心概念;

2. 使用屏蔽响应进行测试;

3.mountebank编程;

4.性能测试。



作者简介

Brandon Byars是ThoughtWorks公司的首#席顾问,也是mountebank的创建者和维护者。他在IT领域具有20年的经验,曾担任开发人员、DBA、架构师和客户经理。当他不再热衷于测试自动化时,他专注于将系统思维应用到大规模开发中,并在我们已经打开的潘多拉技术盒的世界中找到重新发现人类意义的方法。



目录

第Ⅰ部分  起    步

第1章  测试微服务   3

1.1  微服务刷新器   4

1.1.1  微服务路径   5

1.1.2  微服务和组织结构   7

1.2  端到端测试的问题   9

1.3  了解服务虚拟化   10

1.3.1  使用API逐个设置测试   12

1.3.2  使用持久数据存储   12

1.3.3  记录和重放   13

1.4  mountebank介绍   14

1.5  服务虚拟化工具生态系统   18

1.6  本章小结   19

第2章  体验mountebank   21

2.1  设置示例   22

2.2  HTTP和mountebank:入门   23

2.3  虚拟化产品目录服务   26

2.4  第#一个测试   31

2.5  本章小结   38


第Ⅱ部分  使用mountebank

第3章  使用屏蔽响应进行测试   43

3.1  屏蔽响应的基础   44

3.1.1  默认响应   45

3.1.2  了解默认响应的工作方式   48

3.1.3  更改默认响应   49

3.1.4  循环响应   50

3.2  HTTPS imposter   52

3.2.1  设置可信的HTTPS imposter   55

3.2.2  使用相互身份验证   57

3.3  在配置文件中保存响应   58

3.4  本章小结   62

第4章  使用谓词发送不同的响应   65

4.1  谓词基础   66

4.1.1  谓词的类型   68

4.1.2  匹配对象请求字段   73

4.1.3  deepEquals谓词   74

4.1.4  匹配多值字段   75

4.1.5  exists谓词   77

4.1.6  连接点   78

4.1.7  谓词类型的完整列表   79

4.2  参数化谓词   80

4.3  在JSON值中使用谓词   80

4.3.1  使用直接JSON谓词   81

4.3.2  使用JSONPath选择 JSON值   81

4.4  选择XML值   83

4.5  本章小结   86

第5章  添加记录/重放行为   87

5.1  设置代理   87

5.2  生成正确的谓词   91

5.2.1  使用predicateGenerators创建谓词   91

5.2.2  添加谓词参数   93

5.3  为同一请求捕获多个响应   96

5.4  重放代理的方法   100

5.5  配置代理   101

5.5.1  使用相互身份验证   102

5.5.2  添加自定义标题   103

5.6  代理用例   104

5.6.1  使用代理作为回退   104

5.6.2  将HTTPS转换为HTTP   106

5.7  本章小结   107

第6章  mountebank编程   109

6.1  创建自己的谓词   110

6.2  创建自己的动态响应   115

6.2.1  添加状态   116

6.2.2  添加异步   118

6.2.3  确定响应与谓词注入之间的关系   127

6.3  注意:安全很重要   127

6.4  调试提示   128

6.5  本章小结   129

第7章  添加行为   131

7.1  理解行为   131

7.2  修饰一个响应   132

7.2.1  使用decorate函数   133

7.2.2  为保存的代理响应添加修饰   134

7.2.3  通过shellTransform添加中间件   137

7.3  为响应添加延迟   139

7.4  多次重复响应   140

7.5  替换响应中的内容   141

7.5.1  将请求数据复制到响应   141

7.5.2  从外部数据源查找数据   148

7.6  完整的行为列表   152

7.7  本章小结   152

第8章  协议   153

8.1  协议在mountebank中的工作方式   154

8.2  TCP入门   155

8.3  存根基于文本的TCP RPC   156

8.3.1  创建基本的TCPimposter   157

8.3.2  创建TCP代理   159

8.3.3  匹配和操作XML载荷   160

8.4  二进制支持   161

8.4.1  使用二进制模式进行Base64编码   162

8.4.2  在二进制模式下使用谓词   163

8.5  虚拟化.NET远程服务   164

8.5.1  创建简单的.NET Remoting客户端   164

8.5.2  虚拟化.NET Remoting服务器   167

8.5.3  如何告诉mountebank消息结束的位置   171

8.6  本章小结   175

第Ⅲ部分  关 闭 循 环

第9章  微服务的安全   179

9.1  一个持续的交付刷新器   179

9.1.1  基于微服务的CD测试策略   181

9.1.2  将测试策略映射到部署管道   183

9.2  创建测试管道   184 

9.2.1  创建单元测试   186

9.2.2  创建服务测试   189

9.2.3  平衡服务虚拟化与合约测试   193

9.2.4  探索性测试   196

9.3  本章小结   198

第10章  mountebank性能测试   199

10.1  为什么服务虚拟化支持性能测试   200

10.2  定义你的场景   202

10.3  捕获测试数据   203

10.3.1  捕获响应   204

10.3.2  捕捉实际延迟   206

10.3.3  模拟随机的延迟波动   207

10.4  运行性能测试   207

10.5  扩展mountebank   210

10.6  本章小结   212