文档

AHAS应用迁移至MSE(SDK 接入方式)

更新时间:

对于AHAS应用以及规则数较多的用户,推荐使用平滑迁移方案。本文介绍AHAS应用迁移至MSE(SDK接入方式)。

概述

为了保证平稳迁移以及迁移过程中系统始终处于保护之下,迁移过程整体上分为如下三个步骤:

  1. 应用接入:应用接入MSE,在MSE和AHAS控制台均能看到应用,流量防护能力由AHAS侧生效。

  2. 规则迁移:将AHAS侧应用的流量防护规则迁移至MSE侧对应的应用中。

  3. 应用迁移:应用去除AHAS接入,完全接入MSE,流量防护能力由MSE侧生效。

前置条件

  • 开通MSE微服务治理企业版,请参见微服务治理企业版

  • AHAS侧为Java SDK接入方式,登录AHAS控制台左侧导航栏中选择流量防护>应用防护,单击应用卡片,然后在左侧导航栏单击应用管理>接入节点确认。

    说明

    接入类型也可以在AHAS控制台的左侧导航栏的探针管理页面中选择限流降级探针进行查看。

迁移步骤

应用接入

MSE侧提供多种接入方式,具体接入步骤可参见ACK微服务应用接入MSE治理中心,推荐的接入方式对应关系如下。

AHAS

MSE

接入JAVA SDK应用

重要

步骤中MSE侧应用名称请保持和AHAS侧一致,方便后续规则的迁移。接入时需要通过-D或者环境变量的方式增加mse.degrade.sentinel=true的配置来降级MSE侧流量防护,接入后如果在MSE控制台能够看到对应应用以及监控指标(此阶段MSE侧指标数据仅为部分内容,自定义埋点以及CPU指标在MSE侧不可见,指标数据均以AHAS侧为准),且在AHAS控制台仍能看到该应用以及监控指标,两侧应用数量一致,则表示该步骤操作完成,此时应用接入MSE,但流量防护能力由AHAS侧生效。

规则迁移

借助迁移工具完成规则迁移,在正式开始应用完整迁移前,请检查MSE侧应用的流量防护规则是否与AHAS侧一致,且符合预期。

应用迁移

步骤一:AHAS SDK 依赖处理

对于AHAS侧不同的接入方式,需要使用不同的方式处理SDK。

AHAS 侧接入方式

原先依赖

依赖处理

配置处理

<dependency>
  <groupId>com.alibaba.csp</groupId>
  <artifactId>spring-boot-starter-ahas-sentinel-client</artifactId>
  <version>x.y.z</version>
</dependency>

去除依赖

启动参数去除project.name以及ahas.xxx

<dependency>
  <groupId>com.alibaba.csp</groupId>
  <artifactId>ahas-sentinel-client</artifactId>
  <version>x.y.x</version>
</dependency>

去除依赖

启动参数去除project.name以及ahas.xxx

接入Web应用

<dependency>
  <groupId>com.alibaba.csp</groupId>
  <artifactId>ahas-sentinel-client</artifactId>
  <version>x.y.z</version>
</dependency>

去除依赖

启动参数去除project.name以及ahas.xxx,增加profiler.micro.service.servlet.sentinel.interceptor.enable=true

通过自定义埋点接入

<dependency>
  <groupId>com.alibaba.csp</groupId>
  <artifactId>ahas-sentinel-client</artifactId>
  <version>x.y.z</version>
</dependency>

替换为

<dependency>
  <groupId>com.alibaba.csp</groupId>
  <artifactId>sentinel-core</artifactId>
  <version>1.8.7</version>
</dependency>

启动参数去除project.name以及ahas.xxx

说明

MSE 侧使用自定义埋点需要MSE Java探针版本为3.2.8或以上,如果您的版本不满足要求,详情可参见指定MSE探针版本

接入Http Client

暂不支持

启动参数去除project.name以及ahas.xxx

步骤二:关闭MSE侧流量防护降级

需要去除通过-D或者环境变量的方式增加的mse.degrade.sentinel=true的配置以开启MSE侧流量防护。

步骤三:重启应用

在去除了AHAS接入后,还需要重启应用才能完成应用的迁移,应用重启后需要关注以下检查项。

  • 登录AHAS控制台,如果应用不存在则表示去除AHAS接入成功。如果应用仍存在,选择流量防护 > 应用防护,单击应用卡片,然后在左侧导航栏单击应用管理。在接入节点页签可以看到节点的健康状态为失联,同时QPS统计也会缺失对应的统计数据。这样代表去除 AHAS 接入成功。

  • 观察MSE控制台各处指标是否正常,流量相关指标是否包含通过QPS以及拒绝QPS等流量防护相关指标。

    image

  • 观察MSE侧规则配置的接口是否能够在接口详情查询到指标,名称是否完全一致。

    image

    image