全链路灰度

最近更新时间:2024-04-22 10:26:21

我的收藏

操作场景

本文介绍在本地开发 Java 应用,通过 Spring Cloud 的方式接入 TSE 治理中心(北极星网格),并实现全链路灰度能力。

前提条件

1. 在开始开发前,请确保您已经参见 下载 Maven下载安装了 Java 和 Maven。
2. 已创建 TSE 治理中心(北极星网格)实例,操作步骤详细参见 引擎管理

操作步骤

为了方便您快速接入,我们为您准备了 Demo 应用,点击下载

步骤1:引入服务注册与发现的依赖

1. 引入 spring cloud tencent 依赖

修改应用根目录下的 pom.xml,添加dependencyManagement
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-tencent-dependencies</artifactId>
<version>${version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
注意:
请根据项目 Spring Boot 和 Spring Framework 的版本,选择合适的 Spring Cloud Tencent 版本

2. 引入 spring cloud tencent starter

方式一:同时引入 spring-cloud-starter-tencent-polaris-discoveryspring-cloud-starter-tencent-polaris-router
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-starter-tencent-polaris-discovery</artifactId>
</dependency>

<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-starter-tencent-polaris-router</artifactId>
</dependency>
方式二:通过spring-cloud-starter-tencent-all引入 SCT 所有 starters。
<dependency>
<groupId>com.tencent.cloud</groupId>
<artifactId>spring-cloud-starter-tencent-all</artifactId>
<!-- 注意需要指定 type=pom-->
<type>pom</type>
</dependency>
如果使用 Spring Cloud 2020 及以后版本,还需要添加如下依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>

步骤2:添加北极星配置文件

1. 在项目的 main/resources 目录下创建 bootstrap.yml 文件。
2. 在 bootstrap.yml 文件中配置应用名、polaris(北极星)服务端地址等信息。服务端地址查看详细参见:引擎管理 > 客户端访问地址
spring:
application:
name: ${application.name}
cloud:
polaris:
address: grpc://${修改为Polaris 服务地址}:8091
namespace: default

步骤3:启动应用

应用成功启动后,到 TSE 控制台 查看服务注册信息。如下图所示:

image



步骤4: 控制台配置全链路灰度规则

完成客户端接入后,您可在北极星控制台配置您全链路灰度的规则,详情请参见:全链路灰度配置