检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
devspore-horizon是devspore提供的对metaBO(以及对应的RO)操作前鉴权、认证,metaBO变动后消息发送、审计等功能的组件。配置horizon后,generator生成的项目的repository中相关操作上会带有@Extension注解。 // 普通增删改查接口
图3 工程目录不同类型设置效果 module添加服务名前缀:配置为“是”时,模块名称前会添加服务名前缀。 图4 开启前后效果 设置部署信息。 图5 设置部署信息 服务部署脚本 对接CCE部署和ServiceStage部署时,生成的代码中会包含如下内容: 根目录中会增加“ .cam”文件夹,包含“cam
当clientcontrol的缓存类型配置为redis时,此时clientcontrol相当于是redis的使用方,redis自身的配置(超时时间,重试等)还是服务自己设置的,跟clientcontrol没有关系。 clientcontrol中有两个配置参数cache-consecut
clientcontrol提供了超时功能,当目标业务方法执行超过执行时间后,会终止代码的执行,具体使用方式如下: pom文件添加依赖。 配置文件,参考下面配置样例。 devspore: client-control: biz-pool: prioritized: false
permit further calls”这种日志,需要排查clientcontrol的配置文件,看是否开启了慢调用熔断,如果开启了慢调用熔断,会出现原方法没有报出异常,也被熔断的现象。慢调用的配置参数如下: devspore: client-control: rules:
义的降级逻辑可以参考以下配置。具体使用方式如下: pom文件添加依赖。 配置文件,参考下面配置样例。 devspore: client-control: caches: test: ttl: 60000 #此处配置的是缓存的有效时长
试,则可以参考配置中的ignore-exceptions,没有的时候此参数可以不配置。 配置中的policy中在提供的两种方式中选择一个即可,当使用Randomized的时候,配置randomized-wait-factor。 当使用Exponential的时候配置exponen
servicedemo-client)三个模块组成。其中,client为客户端模块,在AstroPro中添加服务时,开启“是否生成客户端”配置后(如图4),才会生成该模块。 图4 开启“是否生成客户端” 父主题: 服务开发框架详解
<version>lastest</version> </dependency> 项目配置文件application.yaml或者application.properties添加配置参数,支持通过AS/SK认证的方式将监控数据上报到AOM。 1 2 3 4 5 6
选择客户端的依赖类型,支持“SDK”和“METHOD”两种类型,可按需选择。 (可选)添加客户端流控策略。 选择SDK类型时,无须配置流控策略。 选择“METHOD”类型后,单击“编辑”,可为对象方法配置流控策略。例如:为User对象的addOder添加一个Retry的流控策略,如图4所示。 您可以选择系统
步骤3:添加服务 在AstroPro中,快速添加一个服务,新增服务中的配置均采用默认配置。此处新建服务的操作,相当于为服务搭建了一个框架。 在AstroPro界面的左侧导航栏中,选择“后端开发平台 > 服务管理 > 服务”。 选择已创建的项目和服务组,单击“新建服务”。 图1 新建服务
式去快速的定义监控指标,避免了定义复杂的监控类。 如何使用 项目中引入devspore-probe依赖,在项目的pom.xml中添加下面的配置。 1 2 3 4 5 <dependency> <groupId>com.huaweicloud.devspore</groupId>
roPro界面。 在左侧导航栏中,选择“后端开发平台 > 应用管理 > 应用”。 在项目下拉框中,选择应用所属的项目,单击“新建应用”。 配置应用的基本信息。 表1 应用基本参数说明 参数 说明 应用名称 输入应用名称,名称只能包含大小写字母、数字、连字符(-)和下划线(_)。 名称必须唯一,不能重复。
PluginException; } 填写配置信息。 完成接口实现之后,还需要填写配置信息。有关horizon的出口拦截配置信息如下: devspore.horizon.observers devspore.horizon.observers配置项也是个数组。horizon会读取数组中每个bean
返回。具体使用方式如下: pom文件添加依赖。 配置文件,参考下面配置样例。 devspore: client-control: caches: test: ttl: 60000 #此处配置的是缓存的有效时长 performance-ttl:
访问熔断状态的方法时报错异常 问题描述 运行时报错Request processing failed; nested exception is io.github.resilience4j.circuitbreaker.CallNotPermittedException: CircuitBreaker
的一个概念,对应配置参数中的performance-ttl。例如一个缓存的有效时长是10s,那性能缓存可以配置为3s,代表一个逻辑概念,标识缓存的结果离更新缓存的时间更近,不会对实际的缓存产生影响。 具体使用方式如下: pom文件添加依赖。 配置文件,参考下面配置样例。 devspore:
do your code ........ return true; } } 配置文件中多个插件以","分隔,多个插件按配置顺序执行。 evspore: horizon: processors: customRequestPlugin
在顶部下拉框中,选择子域所属的项目、应用和子域。 单击“关联服务”,在弹框中选择需关联的服务及版本。 当创建子域是开启单元化配置,则关联Rooted服务。当创建子域是关闭单元化配置,则关联Single服务。 图1 关联Single服务 图2 关联Rooted服务 单击“确定”,完成服务关联。
服务”。 在服务列表中,单击待操作服务“操作”列的“编辑”。 图1 编辑服务 在基本配置中,开启“是否启用扩展拦截”。 图2 启用扩展拦截 “框架配置”、“生成策略”、“业务设计”和“服务依赖”按需配置。更多可参考后端开发快速入门。 生成服务代码后,打开本地压缩包,在“src/mai