Skip to content

RPC增强

Haotian Zhang edited this page Sep 8, 2022 · 7 revisions

目录

模块简介

RPC增强模块 spring-cloud-tencent-rpc-enhancement 旨在增强开发者的RPC框架(目前包括Feign、RestTemplate),在原有的RPC调用中允许开发者添加一些自定义的增强行为。同时,spring-cloud-tencent-rpc-enhancement 也提供默认的增强插件,即调用结果上报插件,用于北极星监控上报使用。该插件自1.7.0版本启用。

快速入门

Feign增强

主要相关类

  • EnhancedFeignPlugin:该接口提供Feign增强插件的入口标准,和需要实现的两个方法,即run(实际运行方法)和handlerThrowable(异常处理方法)。
  • EnhancedFeignContext:该类包装了Feign增强插件所需的主要参数,包括Request(请求)、Options(请求控制参数)、Response(响应)、Exception(异常)。
  • EnhancedFeignPluginType:该枚举列出了四种Feign增强插件的类型,包括PRE(前置插件)、POST(后置插件)、EXCEPTION(异常处理插件)、FINALLY(最终执行插件)。

使用步骤

开发者根据自身需求,实现对应类型的增强插件,最后通过Bean的方式实例化插件即可。可以参考 com.tencent.cloud.rpc.enhancement.feign.plugin.reporter.SuccessPolarisReporter 的实现方式。

RestTemplate增强(待实现)

目前仅实现上报逻辑。

插件使用

调用结果上报插件

spring-cloud-tencent-rpc-enhancement 会根据开发者指定的HTTP状态码来判断需要上报的调用结果,可以通过在配置文件中配置 spring.cloud.tencent.rpc-enhancement.statuses 或者 spring.cloud.tencent.rpc-enhancement.series 来指定需要上报为错误调用的HTTP状态码。

指标监控插件

spring-cloud-tencent-rpc-enhancement 也提供北极星指标监控的功能支持,开发者只需要设置 spring.cloud.polaris.stat.enabledtrue 并设置 spring.cloud.polaris.stat.host 即可快速开启北极星指标监控的功能。如果需要使用路由监控的指标上报,还需要设置 spring.cloud.tencent.rpc-enhancement.reporter.enabledtrue

自定义参数

配置项Key 默认值 是否必填 初始版本 配置项说明
spring.cloud.tencent.rpc-enhancement.enabled true 1.7.0 是否开启RPC增强
spring.cloud.tencent.rpc-enhancement.reporter.enabled false 1.7.0 是否开启上报调用结果
spring.cloud.tencent.rpc-enhancement.reporter.ignore-internal-server-error true 1.7.0 上报调用结果是否将500状态码判定为调用失败,默认为不判定
spring.cloud.tencent.rpc-enhancement.reporter.series HttpStatus.Series.SERVER_ERROR 1.7.0 需要上报FAILED调用结果的HTTP状态码系列,默认为5xx
spring.cloud.tencent.rpc-enhancement.reporter.statuses 1.7.0 需要上报FAILED调用结果的HTTP状态码列表
spring.cloud.polaris.stat.enabled false 1.7.0 是否开启指标监控
spring.cloud.polaris.stat.host 1.7.0 prometheus拉取地址
spring.cloud.polaris.stat.port 28080 1.7.0 prometheus拉取端口
spring.cloud.polaris.stat.path /metrics 1.7.0 prometheus拉取路径
Clone this wiki locally