云服务器内容精选

  • 产品规格差异 Astro企业应用当前提供了基础版、专业版和企业版三种规格套餐,供您选择。关于规格的详细介绍,请参见表1。 基础版:满足个人及创业团队的基础需求,用户能够低门槛入门使用该产品。 专业版/企业版:提供了更多的应用及实体功能,可满足中大型企业的复杂管理需求。 表1 Astro企业应用套餐规格清单 版本类型 基础版 专业版 企业版 开发人数 1人 50人 50人 实体个数 5个 200个 200个 应用数 1个 20个 20个 高低代码混合开发 支持 支持 支持 企业级云原生框架 支持 支持 支持 用户管理 支持 支持 支持 用户权限 支持 支持 支持 高可用中间件SDK 支持 支持 支持 安全 支持 支持 支持 三方依赖管理 支持 支持 支持 Astro企业应用套餐包含的功能,请参见表2。 表2 Astro企业应用套餐功能说明 功能名称 功能描述 实体个数 组织内创建的对象实体总数。 应用数 创建的应用数量。 高低代码混合开发 基于建模的框架代码与可扩展的业务自定义代码混合开发。 高可用中间件SDK 内置高可用能力,如多数据源、容灾切换子能力和流控降级等。 安全 支持安全加解密、认证对接等。 三方依赖管理 通用三方依赖库管理。 三个套餐功能存在差异,请参考表3选择适合您的套餐。 表3 套餐功能特性差异说明 模块 功能 基础版 专业版 企业版 全局功能 导入元数据 支持 支持 支持 架构模板 不支持 不支持 支持 业务对象模板 不支持 不支持 支持 参考架构 不支持 支持 支持 导入DDL 不支持 不支持 支持 导入swagger 不支持 不支持 支持 框架转换 不支持 支持 支持 技术建模 服务单元化策略 默认SINGLE 默认SINGLE ROOTED SHARDING SINGLE 客户端类型 不支持 OPEN_FEIGN OPEN_FEIGN 客户端依赖类型 不支持 SDK SDK METHOD 支持请求入口出口插件 不支持 支持 支持 生成策略 关闭API中根对象前缀 不支持 支持 支持 多租模型,对象支持多租 不支持 Tenant Tenant 租户验证方式 不支持 Header Token Header Token orm框架 不支持 支持 支持 archunit 不支持 支持 支持 业务建模 默认分表数量 不支持 支持 支持 分库逻辑 默认SINGLE BROADCASTING ROOTED SHARDING SINGLE BROADCASTING ROOTED SHARDING SINGLE 分库策略 不支持 MOD HASH_MOD RANGE CUSTOM INTERVAL MOD HASH_MOD RANGE CUSTOM INTERVAL 分表策略 不支持 DB_SHARDING MOD HASH_MOD INTERVAL DB_SHARDING MOD HASH_MOD INTERVAL 固定字段 支持 支持 支持 枚举字段 支持 支持 支持 自定义DTO 支持 支持 支持 脱敏规则(全局定义) 支持 支持 支持 BO类型 FINAL VALUE_OBJECT FINAL VALUE_OBJECT ABSTRACT FINAL VALUE_OBJECT ABSTRACT 软删除策略 不支持 不支持 支持 对象版本化 不支持 不支持 支持 字段校验 不支持 不支持 支持 维度告警 不支持 支持 支持 应用管理 应用 不支持 不支持 支持 子域 不支持 不支持 支持 应用服务 不支持 不支持 支持 服务SLA 不支持 不支持 支持 资产库 自定义字段类型 不支持 支持 支持 客户端流控策略 不支持 不支持 支持 连接器 不支持 不支持 支持
  • 什么是Astro企业应用 Astro企业应用(Astro Pro,简称AstroPro)是Astro面向企业数字化转型提供的元数据驱动的企业应用一站式构建平台。为企业SaaS应用提供端到端开发管理平台,沉淀通用能力,加快应用构建,差异场景灵活扩展,助力业务创新。 AstroPro通过元数据多租,高低代码协同等能力,快速构建企业核心业务应用,提高多层级/多分支企业的应用构建效率。 图1 AstroPro总体架构图
  • 注册华为账号 并实名认证 如果您已有一个华为账号,请跳到下一个任务。如果您还没有华为账号,请参考以下步骤创建。 进入华为云官网,单击页面右上角的“注册”。 参考注册华为账号并开通华为云中操作,完成注册。 注册后参考个人账号如何完成实名认证或企业账号如何完成实名认证中操作,完成个人或企业账号实名认证。 执行本入门中操作,只需购买一个AstroPro基础版实例。基础版实例当前为免费试用,所以不需要为您的账户充值。
  • 购买AstroPro基础版实例 在使用AstroPro前,您需要购买一个AstroPro实例。AstroPro实例是一个独立的资源空间,所有的操作都是在实例内进行,不同实例间的资源相互隔离。AstroPro当前提供了基础版、专业版和企业版三种类型的实例,执行本入门中操作,只需购买一个基础版实例。基础版实例当前为免费使用,如何购买实例请参见购买基础版实例。 购买实例仅限于白名单用户操作,非白名单用户需联系管理员添加白名单。
  • 购买基础版实例 进入购买Astro企业应用实例页面。 “实例规格”选择“基础版”,设置购买时长,单击“立即购买”。 图1 选择购买规格 确认订单无误后,单击“去支付”。 图2 确认订单 选择支付方式,单击“确认付款”,完成支付。 订单支付成功后,单击“返回Astro企业应用控制台”。 在Astro企业应用控制台中,可以查看到Astro企业应用的实例状态。当“实例状态”变为“运行中”时,说明实例已安装好,可以正常使用Astro企业应用。 图3 查看实例状态
  • 购买实例 进入购买Astro企业应用实例页面。 “实例规格”选择“企业版”,其他参数按需进行设置,单击“立即购买”。 图1 选择购买规格 确认订单无误后,单击“去支付”。 以购买企业版一年为例,若为基础版,此处配置费用为“0”。 图2 确认订单 选择支付方式,单击“确认付款”,完成支付。 订单支付成功后,单击“返回Astro企业应用控制台”。 在Astro企业应用控制台中,可以查看到Astro企业应用的实例状态。当“实例状态”变为“运行中”时,说明实例已安装完成,可以正常使用Astro企业应用。 图3 查看实例状态
  • 购买扩容包 扩容包仅适用于在购买专业版或企业版的基础上使用,不可单独购买和退订。扩容包的使用截止时间与主资源的截止时间保持一致。 参考购买实例中操作,购买AstroPro企业版实例。 在已购买的实例中,单击“操作”,选择“扩容”。 图4 选择扩容 在购买扩容包页面,设置购买数量,单击“立即购买”。 一个资源扩容包,包含用户数50个、应用数20个、实体个数200个,请按需设置购买数量。 图5 购买扩容包 选择支付方式,单击“确认付款”,完成订单支付。
  • 属性说明 在业务设计页面,从“business”中,拖拽“BO”对象至画布空白区域。选中对象,在右侧页面设置对象属性,如图1所示。 图1 BO 对象名称:设置对象的名称,必须使用大驼峰格式,不允许存在连续的大写字母。 中文名:设置BO对象的中文名称。 分库逻辑:设置BO数据分库(sharding)策略。 广播对象(BROADCASTING):不需要进行分库,数据在所有数据分库实例上复制,一般是包含配置信息或者维度数据的小表。 根对象(ROOTED):分库的根对象,每个服务只能有一个。支持的主键类型有UUID和雪花算法,其中雪花算法支持逻辑数据库水平扩展。 分库对象(SHARDING):需要进行分库,所有对象实例必须有字段关联的ROOTED BO(AstroPro会自动创建ROOTED表引用字段,并创建外键关联ROOTED表),SHARDING表的分库策略和ROOTED必须保持一致。 单库对象(SINGLE):单表,不进行分库,也不是广播表,仅在一个数据库实例中存在。 表名:设置BO对象在数据库中的表名。 字段:编辑对象的字段。单击“字段”,进入编辑对象字段页面,可为对象添加字段和索引。其中,“NORMAL”为一般类型索引,使用B+树类型存储;“UNIQUE”为唯一索引。 图2 新增字段 图3 添加索引 自定义API:当系统预置的增删改查操作不能满足需求时,您可以通过自定义API来实现某个操作。如何为对象自定义API,请参见自定义API开发指南。 软删除策略:开启软删除策略后,数据删除时执行逻辑删除,数据仍然保留在数据库中。关闭软删除策略后,数据删除为物理删除,即直接从数据库中删除,不可恢复。 注意:购买AstroPro企业版实例时,才会显示“软删除策略”配置项。 恢复软删除:当开启“软删除策略”时可配置。开启恢复软删除,则支持将软删除的数据恢复。 支持BO多租:BO是否支持多租。开启BO多租时,请确保“多租模型”已开启。 注意:购买AstroPro专业版或企业版实例时,才会显示“支持BO多租”配置项。 图4 开通多租模型 不允许修改:对象是否支持修改。 操作:对新建的对象可执行哪些操作,如新增、更新、删除、查询、批量新增、批量更新、批量查询、批量删除和自定义查询。默认值为新增、更新、删除、查询和批量查询。 对象版本化:通过版本号机制实现的乐观锁功能。开启此功能时,会在表中自动添加一个devspore_verion的字段来记录版本。在更新操作时会检查当前版本号和DB中的版本号是否一致,如果一致则更新数据并增加版本号,如果不一致则说明数据已被其他事务修改,更新失败。 注意:购买AstroPro企业版实例时,才会显示“对象版本化”配置项。 对象描述:对象的描述信息。
  • 购买扩容包 扩容包仅适用于在购买专业版的基础上使用,不可单独购买和退订。扩容包的使用截止时间与主资源的截止时间保持一致。 参考购买实例中操作,购买AstroPro专业版实例。 在已购买的实例中,单击“操作”,选择“扩容”。 图4 选择扩容 在购买扩容包页面,设置购买数量,单击“立即购买”。 一个资源扩容包,包含用户数50个、应用数20个、实体个数200个,请按需设置购买数量。 图5 购买扩容包 选择支付方式,单击“确认付款”,完成订单支付。 返回AstroPro服务控制台,在已购买的实例中,单击“进入首页”,查看扩容后的资源规格。 图6 查看扩容后规格
  • 使用说明 在使用AstroPro前,您需要购买一个AstroPro实例。AstroPro实例是一个独立的资源空间,所有的操作都是在实例内进行,不同实例间的资源相互隔离。 相对于基础版实例,专业版实例提供了更多的应用及实体功能,可满足中大型企业的复杂管理需求。除此之外,购买专业版实例时或购买实例后,支持对资源进行扩容。专业版和基础版实例支持的特性差异,请参见产品规格差异。为了便于您更好的了解AstroPro,本指南中操作及截图均以专业版实例为例进行介绍。
  • 购买实例 进入购买Astro企业应用实例页面。 “实例规格”选择“专业版”,其他参数按需进行设置,单击“立即购买”。 图1 选择购买规格 确认订单无误后,单击“去支付”。 以购买专业版一年为例,若为基础版,此处配置费用为“0”。 图2 确认订单 选择支付方式,单击“确认付款”,完成支付。 订单支付成功后,单击“返回Astro企业应用控制台”。 在Astro企业应用控制台中,可以查看到Astro企业应用的实例状态。当“实例状态”变为“运行中”时,说明实例已安装完成,可以正常使用Astro企业应用。 图3 查看实例状态
  • 内置插件 开启horizon后,会自动生成两个内置插件,用户在插件中实现统一的操作前认证、鉴权,操作后消息发送、缓存更新、审计等逻辑即可: Entry插件 /** * default request plugin */ @Component @javax.annotation.Generated(value = "com.huaweicloud.devspore.codegen, xxx-RELEASE") public class DefaultRequestPlugin extends Processor { @Override public boolean doProcess(DataEvent dataEvent) throws PluginException { // do your code return true; } } Exit插件 /** * default response plugin */ @Component @javax.annotation.Generated(value = "com.huaweicloud.devspore.codegen, xxx-RELEASE") public class DefaultResponsePlugin implements Observer { @Override public void observe(DataEvent dataEvent) throws PluginException { // do your code } } 配置文件 devspore: horizon: processors: defaultRequestPlugin observers: defaultResponsePlugin
  • 出口插件 实现Exit插件。 devspore-horizon提供了接口Observer,用户需要实现这个接口的observe(DataEvent dataEvent)方法,把变更通知、更新缓存、统一审计、统一工作流的处理逻辑写到此方法体内即可。 Observer代码如下: public interface Observer { // receive the BO changes void observe(DataEvent dataEvent) throws PluginException; } 填写配置信息。 完成接口实现之后,还需要填写配置信息。有关horizon的出口拦截配置信息如下: devspore.horizon.observers devspore.horizon.observers配置项也是个数组。horizon会读取数组中每个bean id,执行已实现的消息发送、审计等逻辑。 多个插件以","分隔,多个插件按配置顺序执行。 devspore: horizon: observers: bean1,bean2
  • 入口插件 实现Entry插件。 devspore-horizon提供了抽象类Processor,用户需要继承这个抽象类,实现抽象方法doProcess(DataEvent event),把认证和鉴权的处理逻辑写到此方法体内。此方法返回值为boolean型。如果认证或者鉴权的逻辑失败,则返回false,责任链后续节点不再执行,整个请求返回不再执行;如果认证或者鉴权成功,则返回为true,继续执行后续节点。Processor代码如下: public abstract class Processor { protected MetaDocument metaDoc; private String name; private Processor next; public Processor getNext() { return next; } public void setNext(Processor next) { this.next = next; } public boolean process(DataEvent dataEvent) throws PluginException { if (!doProcess(dataEvent)) { return false; } if (null != next) { return next.process(dataEvent); } return true; } public abstract boolean doProcess(DataEvent dataEvent) throws PluginException; public String getName() { return name; } } 填写配置信息。 完成接口实现之后,还需要填写配置信息。有关horizon的入口拦截配置信息如下: devspore.horizon.approvers 实现的Entry插件,插件必须注入到spring IOC容器,并提供bean id,赋值给devspore.horizon.processors配置项。devspore.horizon.processors配置项是个数组。horizon会读取数组中每个bean id,执行已实现的鉴权、认证等逻辑。 多个插件以","分隔,多个插件按配置顺序执行。 devspore: horizon: processors: bean1,bean2
  • 参数说明 表1 参数说明 参数名称 默认值 类型 被监控组件或应用名称 devspore.probe.metrics.tags.component - String 被监控组件或应用名称。 devspore.probe.metrics.api-description-tags false boolean 是否开启http_server_request指标添加description标签功能,如开启,会自动添加@ApiOperation注解的value字段或@Operation注解的summary字段作为description值。 devspore.probe.aom.enable false boolean 是否开启监控数据上报 AOM 平台功能。 devspore.probe.aom.authentication - String 监控数据上报AOM的鉴权方式,可选值:AccessCode,AccessKey。 当选择AccessCode时,url、access-code必须配置。 当选择AccessKey时,url、ak、sk必须配置。 devspore.probe.aom.ak - String 用户AK。 devspore.probe.aom.sk - String 用户SK。 devspore.probe.aom.access-code - String 用户AccessCode。 devspore.probe.aom.apig-app-code - String 被授权服务的appCode、非必须使用,非内部用户使用AccessCode鉴权方式的时候需要配置此配置。 devspore.probe.aom.url - String 监控数据上报AOM平台接口URL。 devspore.probe.aom.push-interval-seconds 60 int 监控数据上报AOM平台的采集间隔,单位:秒。 devspore.probe.aom.pattern /w* String 符合该正则表达式的监控项将被上报到AOM,默认上报所有的监控项。 devspore.probe.aom.external-env-info false boolean 是否在监控数据中加入serviceStage环境变量。 devspore.probe.aom.batch-size false int 每批次上传AOM平台的Body包包含的监控项数量,默认值60。