全部产品
阿里云办公

双引擎接入使用文档

更新时间:2018-02-09 18:22:28

原理介绍

平台介绍

适用范围

推荐云效上的java应用直接使用。也支持非云效上的其他任何java应用使用,前提是您的应用服务器可以正常访问域名:doom.rdc.aliyun.com 。如果因网络问题无法使用可联系我们进一步沟通解决方案。

联系方式(email): mufeng.qcg@alibaba-inc.com

详细接入流程图

接入整体流程2

平台入口

入口链接

1. 企业设置

1.1 新建或加入企业

访问 云效并根据提示新建企业,如果已经存在企业请忽略。您也可以接收企业管理员要邀请加入企业。

1.2 数据存储设置

OSS配置

录制流量将保存到oss中,因此企业使用前需要先进行购买和设置。请预先评估好需要容量,oss 申请地址

警告:若流量不够请申请扩容,如果更换oss将导致原录制的数据无法使用。

设置方法:

oss设置

2. 应用接入申请

rdc中的应用需要申请后才能正常接入使用,目前公测需要联系相关技术支持同学开通使用,一个企业限制接入5个应用。

2.1 申请方法

申请

2.2 审批结果

目前公测阶段由产品后台方审批,审批完成后会通过用户在rdc绑定的邮箱发送审核结果。如果在3个工作日后还未收到通知结果,请发邮箱咨询我们。 联系人: 穆风 mufeng@aibaba-inc.com

公测结束后,会把权限下放到企业管理员。

3. 管理平台接入配置

3.1 第一步:流量入口(主调用)配置

在申请审批通过后进入该应用,并选择 【应用配置】-> 【流量入口】 点击 【新增】

主调用配置

注意事项

  1. 流量入口其实就是所说的主调用,请确保设置的实现全类名为具体实现类,非接口。
  2. 流量入口如果存在在流量A中,调用入口流程B的代码链路,可能会存在采集数据的问题引起回放的不准确,请设置流量入口时应尽量规避。

然后设置相关流量入口并保存。(目前版本暂时只支持java入口,http流量后续开放)

新增java接口

3.2 第二步:设置待接入机器IP

一般生产机器找一两台机器来作为流量录制机器,另外找一两台测试机器作为回放机器。环境类型包括 测试、预发、线上。

机器ip设置

测试流程通常是从日常->预发(灰度)->线上可以支持线上采集的流量跨环境回放,取决于你回放任务设置的数据采集源的环境。

3.3 第三步:生成客户端访问参数

该参数是后续应用变更时需要配置的参数,生成即可

客户端参数生成

3.4 第四步:生成客户端配置

客户端配置是埋点客户端运行需要的一些参数配置,一般生成一个默认的即可。

1)新建客户端配置

新建客户端配置

2)给客户端配置命名&选择隔离的中间件一般应用使用到了哪些中间件就把这些中间件配置上即可,然后保存。如果应用使用的中间件平台选择不了请联系技术支持同学。

客户端配置设置

  • 客户端隔离中间目前支持 dubbo,redis,mybatis,如果你有其他中间件,请先联系我们。我们根据评估为你们应用做适配。
  • 作为隔离环境,服务端提供者将不再提供服务,例如dubbo隔离后,dubbo provider不会注册服务到注册中心。原因是回放因为隔离了环境,提供服务明显程序运行不完整,会产生程序错误等。
  • 还需要了解高级配置请到用户手册客户端配置查阅。

3.5 第四步:流量分组配置(也叫分组环境)

3.5.1 什么是流量分组

流量分组(分组环境)是针对流量录制和回放两种场景设置的相关管理机制,分组会管理相应的服务器ip、流量入口配置以及相关客户端配置信息。利用流量分组可以实现流量的分配管理以及多项目协作管理。

3.5.2 流量分组类型

流量分组有3种类型,录制分组、回放分组、录制&回放 分组。

录制分组

仅负责录制数据,对应用的影响和侵入最小。

回放分组

仅负责数据回放,会对应用的对外请求进行隔离,也就是它不能直接对外提供服务,线上或者beta回放请选择此分组。

‘录制&回放’分组

既支持录制也支持回放,也支持一台机器同时录制和回放(便于接入调试)。不会对应用的对外请求隔离,请谨慎用于线上或者预发回放。

流量分组设置

4. 应用接入变更

4.1 常规接入模式

4.1.1 sdk下载

sdk.zip

将sdk下载并解压后得到 doom-common-client-xxx.jar,clouddoom-loader.jar 两个文件。

doom-common-client-xxx.jar 添加到应用依赖中。(可以将doom-common-client-xxx.jar 文件作为三方库上传到自己的私用maven库,这样就可以直接依赖了)

4.1.2 JVM配置项添加

1)将 clouddoom-loader.jar 放到服务器中某个目录例如 /home/admin/doom 中

2)新增jvm启动项:

//‘appId:1#clientKey:KsvU…#endPoint:http://doom.rdc.aliyun.com/’ 此参数可以从管理后台的【应用配置】-> 【权限管理】的ClientParam参数中获取。

-javaagent:/home/admin/doom/clouddoom-loader/target/clouddoom-loader.jar=appId:1#clientKey:KsvU…#endPoint:http://doom.rdc.aliyun.com/

jvm启动项

4.1.3 系统初始化BEAN配置

在应用spring配置文件中新增一个配置

  1. <bean class="com.alibaba.doom.client.ClientInitialBean" lazy-init="false"/>

针对spring boot应用没有xml配置可以如下配置

  1. import com.alibaba.doom.client.ClientInitialBean;
  2. @SpringBootApplication
  3. public class DemoApplication {
  4. @Bean
  5. public ClientInitialBean getDoomClient() {
  6. return new ClientInitialBean();
  7. }
  8. public static void main(String[] args) {
  9. SpringApplication.run(DemoApplication.class, args);
  10. }
  11. }

4.1.4 配置检查

当应用变更完成后执行部署,可以在平台的应用基本信息观察到客户端启动状态,判断变更是否成功。

配置检查

4.2 免应用变更接入模式

4.2.1 目的

为进一步降低doom接入使用成本,提特定场景下快速接入使用doom的能力,即应用不需要做任何变更以及重启便能热启动doom客户端,完成流量录制和回放目的。(线上环境建议通过常规接入模式接入。)

4.2.2 方法

  1. #执行客户端热启动命令(注意使用该命令需要联系本平台负责的同学做相关配置才能支持)
  2. #这里的id和key对应:应用配置->权限管理->客户端参数配置 中的 appId和clientKey。
  3. curl -s "https://doom.rdc.aliyun.com/client/gate/install_bash.do?id=xxx&key=xxxx" | bash

5. 回归任务的创建与回归分析

5.1 创建录制任务

创建回放任务1

创建录制任务2

5.2 创建回放任务

创建回放任务real1

创建回放任务2

5.3 开启任务

开启录制任务

开启录制任务

开启回放任务

开启回放任务

5.4 触发流量

如果是用测试环境,那么请制造些流量来实现录制

5.5 查看流量回放统计

查看统计

5.6 回放失败分析

进入查看失败原因

查看失败原因

进入查看失败具体列表

查看失败列表

查看具体对比失败原因,查看是否回放失败,如果没有回放失败则查看不一致字段,判断是否为噪音,如果是的话可以点击排除

查看失败原因

排除噪音字段后保存

排除保存

重跑验证(重跑的前提是回放机器客户端要正常运行)

重跑验证

6. 录制流量的检索与收藏(用例管理)

6.1 原理

支持录制流量通过opensearch进行搜索并收藏感兴趣的流量来回放。当opensearch相关配置设置完成后,当客户端录制到流量的入参以及返回结果会通过opensearch进行索引,通过控制台可供搜索和查看。并支持添加到用例集,通过新建回放任务并关联相关用例集实现用例回归。

6.2 步骤

  • 开通opensearch&新建应用&设置数据表
  • doom平台配置

6.3 开通opensearch&设置数据表

字段名称 类型 主键
id LITERAL
invoke_identity LITERAL
timestamp INT
source_id LITERAL
container_id INT
trace_id LITERAL
item_key LITERAL
data_key LITERAL
request_json TEXT
response_json TEXT
data_record_id INT
  • 字段索引设置
索引名称 包含字段 分词方式
id id 不分词
default request_json、response_json 中文-基础分词
invoke_identity invoke_identity 不分词
trace_id trace_id 不分词
item_key item_key 不分词
data_key data_key 不分词
time_stamp timestamp 不分词
source_id source_id 不分词
data_record_id data_record_id 不分词
  • 在数据源设置也直接点击完成

数据源

  • 设置默认展示字段默认opensearch字段

  • 结果摘要设置

结果摘要

  • 回到应用列表,激活应用(根据需求合理选择容量大小,也可以申请免费容量试用)

回到应用列表

6.4 平台opensearch配置(仅企业管理员可设置)

opensearch

6.5 流量收藏

方法一:进入【用例中心】->【录制流量】选择其中一个流量点击‘查看’,在流量列表页选择‘收藏’方法二:进入【用例中心】->【流量搜索】选择其中一个流量点击‘收藏’。

6.6 收藏分组的新建

在点击收藏后显示收藏对话框。点击‘加号进行分组添加’添加收藏分组

6.6 新建收藏分组任务并执行回归

在回放分组新建一个回放任务,并关联当前新建的收藏分组即可收藏回放

本文导读目录