正版全新  Java微服务测试 基于Arquillian Hoverfly AssertJ JUnipdf下载

正版全新 Java微服务测试 基于Arquillian Hoverfly AssertJ JUni百度网盘pdf下载

作者:
简介:正版全新 Java微服务测试 基于Arquillian Hoverfly AssertJ JUni
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

Java微服务测试:基于Arquillian、Hoverfly、AssertJ、JUnit、Selenium与Mockito   

作  译  者:刘梦馨

出版时间:2019-07

I S B N :9787121367106

定价:¥89.0 


本书从实战出发,介绍微服务架构所带来的测试方面的挑战,以及如何利用新的技术来应对这些挑战。通过本书,读者可以学会如何编写微服务架构下的单元测试、组件测试、集成测试以及契约测试。在此过程中还会用到Arquillian、ShrinkWrap、Pact、Selenium、Docker、Hoverfly 等多个帮助测试的工具和框架。书中涵盖大量的代码和样例,可以帮助读者快速上手,并在自己的实际工作中应用这些技术。本书适合有一定Java 基础的开发和测试人员,对使用其他编程语言的开发者也会有一定的帮助。

Java微服务实战

    定价    69.00

出版社    电子工业出版社

版次    1

出版时间    2017年11月

开本    16开

作者    赵计刚

装帧    平装

页数     

字数     

ISBN编码    9787121328404

重量     


目录


目录




第1章 微服务概述1


1.1 初识微服务1


1.1.1 什么是微服务1


1.1.2 为什么需要微服务2


1.1.3 微服务架构的缺点3


1.2 微服务中的组件与技术选型4


第2章 微服务基础框架10


2.1 SpringBoot的优势10


2.2 SpringBoot入门10


2.2.1 搭建项目框架10


2.2.2 开发第壹个SpringBoot程序11


2.2.3 运行SpringBoot项目14


2.3 再学一招:使用Maven依赖树验证SpringBoot自动引包功能15


第3章 微服务文档输出17


3.1 Swagger概述17


3.2 如何使用Swagger17


3.2.1 搭建项目框架17


3.2.2 SpringBoot集成Swagger18


3.2.3 分析Swagger生成的API文档23


3.2.4 使用Swagger进行接口调用23


3.3 再学一招:使用Lombok消除POJO类模板代码24


第4章 微服务数据库26


4.1 单数据源26


4.1.1 搭建项目框架26


4.1.2 建库和建表27


4.1.3 使用Mybatis-Generator生成数据访问层27


4.1.4 SpringBoot集成Mybatis29


4.2 多数据源38


4.2.1 建库和建表39


4.2.2 使用Mybatis-Generator生成数据访问层40


4.2.3 结合AbstractRoutingDataSource实现动态数据源41


4.2.4 使用AOP简化数据源选择功能47


4.2.5 实现多数据源的步骤总结48


4.3 再学一招:Mybatis-Generator基本用法49


第5章 微服务缓存52


5.1 常用的缓存技术52


5.1.1 本地缓存与分布式缓存52


5.1.2 Memcached与Redis53


5.2 Redis2.x客户端分片53


5.2.1 安装Redis53


5.2.2 SpringBoot集成ShardJedis54


5.3 Redis3.x集群59


5.3.1 搭建Redis集群59


5.3.2 SpringBoot集成JedisCluster62


5.3.3 JedisCluster关键源码解析64


5.4 再学一招:使用GuavaCache实现本地缓存66


第6章 SpringBoot启动源码解析69


6.1 创建SpringApplication实例70


6.1.1 判断是否是Web环境71


6.1.2 创建并初始化ApplicationInitializer列表71


6.1.3 创建并初始化ApplicationListener列表74


6.1.4 初始化主类mainApplicationClass75


6.2 添加自定义器75


6.3 启动核心run方法76


6.3.1 创建启动停止计时器77


6.3.2 配置awt属性78


6.3.3 获取SpringApplicationRunListeners79


6.3.4 启动SpringApplicationRunListener80


6.3.5 创建ApplicationArguments80


6.3.6 创建并初始化ConfigurableEnvironment81


6.3.7 打印Banner87


6.3.8 创建ConfigurableApplicationContext87


6.3.9 准备ConfigurableApplicationContext89


6.3.10 刷新ConfigurableApplicationContext91


6.3.11 容器刷新后动作93


6.3.12 SpringApplicationRunListeners发布finish事件94


6.3.13 计时器停止计时94


6.4 再学一招:常用的获取属性的4种姿势94


第7章 微服务注册与发现96


7.1 初识Consul96


7.2 搭建Consul集群97


7.2.1 安装Consul97


7.2.2 启动Consul集群97


7.2.3 启动Consul-UI99


7.3 使用Consul实现服务注册与服务发现100


7.3.1 搭建项目框架100


7.3.2 配置服务注册信息102


7.3.3 实现服务启动注册104


7.3.4 实现服务发现106


7.4 服务部署测试108


7.4.1 编写测试类108


7.4.2 服务打包部署109


7.4.3 运行测试111


7.5 使用Consul与Actuator实现健康检查111


7.5.1 健康检查机制111


7.5.2 健康检查查错思路111


7.6 再学一招:Consul健康检查分类及原理112


第8章 微服务配置管理114


8.1 初识Archaius114


8.1.1 为什么要使用Archaius114


8.1.2 Archaius原理114


8.2 使用Consul-KV实现配置集中管理115


8.3 使用Archaius实现动态获取配置116


8.3.1 搭建项目框架116


8.3.2 创建配置信息读取源118


8.3.3 实现服务启动时读取配置信息120


8.3.4 动态获取配置信息122


8.3.5 将配置信息动态加入Spring属性源的思路123


8.4 再学一招:Archaius关键源码解析123


8.4.1 构造动态属性源123


8.4.2 动态获取属性127


第9章 微服务进程间通信129


9.1 常见的三种服务通信技术129


9.2 创建一个简单的被调用服务130


9.2.1 搭建项目框架130


9.2.2 实现一个简单的被调用接口132


9.3 使用OkHttp实现服务通信134


9.3.1 搭建项目框架134


9.3.2 创建OkHttp调用实体类135


9.3.3 实现服务通信功能136


9.3.4 SpringBoot指定服务启动端口的三种姿势138


9.4 使用AsyncHttpClient实现服务通信139


9.4.1 搭建项目框架139


9.4.2 创建AsyncHttpClient调用实体类139


9.4.3 实现服务通信功能140


9.5 使用Retrofit实现服务通信141


9.5.1 搭建项目框架141


9.5.2 创建调用接口并实例化接口141


9.5.3 实现服务通信功能143


9.6 再学一招:Retrofit源码解析143


9.6.1 构造RestAdapter144


9.6.2 初始化RestAdapter.Builder属性146


9.6.3 创建RestAdapter实例149


9.6.4 构造请求方法的接口类150


9.6.5 校验service接口的合法性151


9.6.6 使用动态代理创建对象152


9.6.7 进行请求调用152


9.6.8 获取RestMethodInfo实例154


9.6.9 进行方法调用154


9.6.10 加载RestMethodInfo的剩余属性156


9.6.11 构建请求参数retrofit.client.Request160


9.6.12 利用clientProvider进行真正的调用161


9.6.13 处理响应162


第10章 微服务降级容错163


10.1 初识Hystrix163


10.1.1 为什么要使用Hystrix163


10.1.2 Hystrix工作原理164


10.1.3 Hystrix执行流程166


10.2 使用Hystrix实现服务降级容错167


10.2.1 搭建项目框架167


10.2.2 创建AsyncHttpClient调用实体类170


10.2.3 服务通信框架集成服务降级容错功能171


10.2.4 验证服务降级容错功能173


10.3 搭建Hystrix监控176


10.3.1 使用Hystrix-Metrics-Event-Stream发布监控信息176


10.3.2 使用Hystrix-Dashboard展示监控信息177


10.3.3 使用Turbine聚合监控信息179


10.1 再学一招:Hystrix常用配置184


10.1.1 设置配置参数的两种方法184


10.4.2 常见配置项的配置方式184


第11章 微服务日志187


11.1 初识ELK187


11.1.1 为什么要用ELK187



^_^:10ff6ca93b52c33d6c10667f0ceede8a


^_^:3e623787d706c6a20653ea16a31c4bf0