一、操作场景
·本地应用消费云端服务:本地新增应用调用云端联调测试环境服务,提供云端服务测试联调能力,提升开发效率。
·云端服务调用本地实例:提供方服务已经部署至云端,需要对提供方服务进行更新,则可在本地启动提供方实例,通过指定路由规则联调测试本地服务进行功能验证。
二、创建流量代理
1. 你需在腾讯云购买一台与云端联调服务同地域的 CVM 资源,将其加入到云端联调服务的 VPC 中,并绑定一个公网 IP。
2. 如果你需要云端调用本地测试服务,需要在上述已购买的 CVM 资源的 SSH 服务进行如下配置:
2.1 编辑 sshd_config 配置
sudo vim /etc/ssh/sshd_config
2.2 添加如下配置信息允许远程主机连接本地的转发端口,并保存:
GatewayPorts clientspecified
2.3 重启 SSH 服务
Debian/Ubuntu linux:
sudo systemctl restart ssh
CentOS / RHEL / Fedora / Redhat Linux
sudo systemctl restart sshd
三、使用限制
·作为跳板机的 CVM 必须和联调服务集群处于同一个私有网络 VPC。
·支持 Spring Cloud 架构的普通应用、Mesh 应用和微服务网关。
·不支持分布式任务调度、分布式事务、日志、监控、分布式链路追踪的云端联调能力。
·云端服务调用本地服务的方式,仅支持 1.29 及以下版本的 Spring Cloud SDK,1.40及以上版本的 Spring Cloud SDK 暂不支持。
四、步骤1:创建应用
如果本地测试服务未在云端部署则需为其创建应用并创建部署组获取联调配置,如果本地测试服务已在云端部署仅为本地开发测试实例则仅需在已有的云端应用下创建部署组获取联调配置,你可以使用 TSF 页面提供的 Demo(单击下载)进行验证。
五、步骤2:创建部署组获取联调配置
1. 创建部署组
创建部署组关联云端测试服务的集群及命名空间,确保其能相互访问,无需关联实例及部署应用单击保存。
2. 获取联调配置
单击部署组 ID,查看基本信息获取联调配置,具体参数如下所示:
| 参数 | 描述 |
| tsf_token | TSF 服务注册 token 认证信息 |
| tsf_namespace_id | TSF 命名空间 ID |
| tsf_applicaton_id | TSF 应用 ID |
| tsf_appid_id | 腾讯云账号 ID 信息 |
| tsf_group_id | TSF 部署组 ID |
六、步骤3:本地环境配置
1. 下载本地联调 agent 程序包(单击下载)。
2. 打开本地 IDE 环境,配置 JVM 启动参数。
JVM 启动参数配置如下:
-javaagent:"agent绝对路径=ssh_host=cvm公网ip&&user=用户名&&pass=密码&&local_port=本地服务启动端口&&remote_ip=cvm内网ip"-Dtsf_token=TSF服务注册token认证信息-Dtsf_namespace_id=TSF命名空间ID-Dtsf_application_id=TSF应用ID-Dtsf_app_id=腾讯云 账户ID信息-Dtsf_group_id=TSF部署组ID
示例:
-javaagent:"/Users/root/agent.jar=ssh_host=139.136.79.195&&user=root&&pass=123456tt&&local_port=8080&&remote_ip=172.30.0.93"-Dtsf_token=rakxSMEnGjXtAvSe9I2BlvqOootl_WAw9YzIiaJ-RD4= -Dtsf_namespace_id=namespace-py5lr6v4 -Dtsf_application_id=application-nygxjma2-Dtsf_app_id=1300555551 -Dtsf_group_id=group-jy9zr8ag
配置详情描述如下:
| 参数 | 描述 | 必填 |
| javaagent | JavaAgent 动态代理 jar 包路径 | 必填 |
| ssh_host | SSH 服务器地址 | 必填 |
| ssh_port | SSH 服务监听端口 | 必填 |
| user | SSH 服务登录用户名 | 必填 |
| pass | SSH 服务登录密码 | 选填,pass 和 key 必须要有一个不为空 |
| key | SSH 服务登录私钥路径 | 选填,pass 和 key 必须要有一个不为空 |
| local_port | 本地启动服务端口 | 选填,如果本地调试服务只是正向调用云端服务则可以不填写,如果需要被云端服务访问则需要填写 |
| remote_ip | CVM 内网 IP | 选填,如果本地调试服务只是正向调用云端服务则可以不填写,如果需要被云端服务访问则需要填写 |
| tsf_token | TSF 服务注册 token 认证信息 | 必填 |
| tsf_namespace_id | TSF 命名空间 ID | 必填 |
| tsf_applicaton_id | TSF 应用 ID | 必填 |
| tsf_appid_id | 腾讯云账号 ID 信息 | 必填 |
| tsf_group_id | TSF 部署组 ID | 必填 |
| tsf_instance_id | 注册实例 ID | 选填 ,如果有多个同类型的本地服务需要注册,为了避免实例 ID 相同可以特殊指定 |
3. 启动本地服务。
七、步骤4:联调测试验证
本地服务启动后会在 TSF 服务治理对应的服务详情中显示服务实例列表信息,包含实例信息、服务端口、部署组信息。
在本地通过联调测试远程服务,显示 response 信息则验证成功。