检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
path}/${microservice}-%d{yyyy-MM-dd}.%i.zip" #压缩后日志文件名称 ###DONE 看规范是否要更新建议 append: true PatternLayout: pattern: "${log
erDetail)三个业务对象,且三个对象之间存在聚合关系,即用户存在时,订单才会存在,订单存在时,订单详情才会存在。 图4 订单业务设计 服务依赖:通常情况下,一个应用不是一个单独的服务,可能由多个服务共同组成。这些服务之间可能存在一些跨服务的调用,此时就需要通过添加依赖服务,把这些服务的客户端集成过来。
确保已创建项目和服务组。 基本配置 设置服务框架、版本和单元化策略等信息,请根据实际业务直接在界面进行勾选。 框架配置 设置服务的架构、数据库、缓存和安全认证等信息,请根据实际业务直接在界面进行勾选。 生成策略 设置服务的API、代码风格、部署和性能测试等信息,请根据实际业务直接在界面进行勾选。
自定义,即对生成的服务代码进行二次开发。 client:客户端模块,在AstroPro中添加服务时,开启“是否生成客户端”配置后(如图2),才会生成该模块。 图2 开启“是否生成客户端” base代码目录结构 代码结构说明中的“{biz}”,为在AstroPro的业务设计中定义的对象,如BO、Abstract
使用说明 创建服务前,请确保已创建项目和服务组。如果待添加的服务有依赖其他服务,请先添加依赖的服务。添加被依赖服务时,必须开启“是否生成客户端”。 图1 开启“是否生成客户端” 前提条件 参考新建项目中操作,完成项目的创建。 参考新建服务组中操作,完成服务组的创建。 操作步骤 参考登录
API,有独立数据存储(一般为独立数据库)的服务。原子服务之间可以相互调用。 服务组:选择服务所属的分组。 服务单元化策略:服务在子域内的单元化策略。服务单元化策略必须在一个子域内定义,不能跨子域。 当前仅支持SINGLE,即单库,无论子域是否进行单元化部署,该服务只在一个单元(一般以region为单元)内部署。
anceTtl(性能缓存)。 存在误解这两个为是两个缓存,其实缓存只有一个。 实际给缓存设置的缓存过期时间为ttl配置,缓存存入的时候,连同当前时间一同存入了,取出的时候就可以取出缓存存入时间,通过计算与performanceTtl进行比较得出是否是性能缓存。 父主题: 常见问题
Long Timestamp Float Double Timestamp 数据库数据类型 下拉框中选择数据库数据类型,根据Java数据类型匹配。 长度 设置数据项能够存储的最大字符数。 精度 设置数据表示的精确度。 枚举类型名称 输入枚举类型名称。 描述 输入补充说明信息。 图1
内置高可用能力,如多数据源、容灾切换子能力和流控降级等。 安全 支持安全加解密、认证对接等。 三方依赖管理 通用三方依赖库管理。 三个套餐功能存在差异,请参考表3选择适合您的套餐。 表3 套餐功能特性差异说明 模块 功能 基础版 专业版 企业版 全局功能 导入元数据 支持 支持 支持 架构模板 不支持 不支持
一对多 什么是一对多 一对多关系中,次要方可以不依赖于首要方,可以单独存在。删除一对多关系只代表两个对象之间的特定关系的结束,不会影响任何一个对象的生命周期。 图1 一对多和聚合的差异 创建一对多关系后,首要方不会做任何的改动,次要方的字段中会自动增加首要方的id,即primar
n。分片服务有两种方式和根服务建立关系:可以通过建立根维度映射表,其它sharding表外键引用它的方式。也可以直接为每个表加一个根维度表id字段。 API版本:服务的API版本,默认为新增一个服务时配置的版本,如果需要升级API的版本,请参见升级API版本。 是否启用扩展拦截:通过引入devspore
最低为两位。 图3 代码压缩包名称 服务类型:当前仅支持创建原子服务。原子服务是指对外提供业务对象管理API,有独立数据存储(一般为独立数据库)的服务。原子服务之间可以相互调用。 服务组:选择服务所属的分组,即(可选)步骤2:创建服务组中创建的服务组。 服务单元化策略:服务在子域
也可以使用自己开发的插件,用于实现统一的操作前认证、鉴权,操作后消息发送、缓存更新、审计等功能。 常用概念 DTO:是一种数据传输对象,主要用于在不同层之间传输数据。 DO:是一种领域对象,用于表示业务领域中的实体或概念。 horizon整体架构 devspore-horizon架构图如下:
etaBo主键的参数,如图2所示。 图2 API路径 描述:输入自定义API的描述信息。 设置代码生成层,参数设置与代码生成关系请参考表1。 表1 设置代码生成层组合说明 接口层 应用层 数据访问层 代码生成 x √ x 仅在应用层生成代码。 x x √ 仅在数据访问层生成代码。
true # token是否在header中,默认true token-name: X-Auth-Token # token在header中的参数名,inHeader设置为true时生效,默认X-Auth-Token 配置说明 表1 配置说明 参数名 是否必须 功能 devspore
linux下验证 在表格的“版本及下载地址”中获取SDK包下载路径。 下载SDK包到本地。 输入如下命令。 sha256sum {压缩包名} 对比压缩包.sha256的SHA256值和下载后的SDK包的SHA256值。 一致,则表示压缩包完整,下载过程不存在篡改和丢包。 不一致,说明SDK压缩包被篡改,需要重新获取。
permit further calls”异常。 可以通过这个异常参数找到熔断的原因,如果日志过大,找不到熔断前的日志,可以对异常参数类型做个判断,将CallNotPermittedException异常和其他异常区别打印,这样更方便定位问题。如下所示: public String myFallBack(long
User(id, "vn", 12).toString(); } 当使用服务优先时clientcontrol的处理逻辑如下: 执行原方法,如果执行成功,更新缓存,返回结果。如果执行方法失败,获取缓存。 如果成功拿到缓存,则将缓存结果返回。如果没有拿到缓存则将原方法的执行失败异常返回。 父主题:
单击,进入添加工具类页面。 工具类型选择“npm”。 参考表1配置工具类的参数。 表1 参数说明 参数 说明 名称 工具类名称。 包名 npm包名。 导出名称 import时的命名,如果是非解构,则可以自由命名,如果是解构,则npm包的导出必须要有该名称。 是否解构 解构则使用如import { export1
排查以下两个问题: 版本使用是否正确,如果用户使用的是jdk17、clientcontrol必须使用jdk17的版本,jdk17的版本在版本号中会有JDK17的标识,如 2.1.6.JDK17-RELEASE,不带JDK17的均为jdk8的版本。 是否在同一个类中调用了使用@clientcontrol注解的方法,