-
Notifications
You must be signed in to change notification settings - Fork 495
RPC增强
RPC增强模块 spring-cloud-tencent-rpc-enhancement
旨在增强开发者的RPC框架(目前包括Feign、RestTemplate),在原有的RPC调用中允许开发者添加一些自定义的增强行为。同时,spring-cloud-tencent-rpc-enhancement
也提供默认的增强插件,即调用结果上报插件,用于北极星监控上报使用。该插件自1.7.0版本启用。
-
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
的实现方式。
目前仅实现上报逻辑。
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.enabled
为 true
并设置 spring.cloud.polaris.stat.host
即可快速开启北极星指标监控的功能。如果需要使用路由监控的指标上报,还需要设置 spring.cloud.tencent.rpc-enhancement.reporter.enabled
为 true
。
配置项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拉取路径 |
- 您在使用过程中遇到任何问题,请提 Issue 或者加入我们的开发者群告诉我们,我们会在第一时间反馈
- Spring Cloud Tencent 社区期待您的加入,一个 Star、PR 都是对我们最大的支持
- 项目介绍
- 使用指南
- 最佳实践
- 开发文档
- 学习资料