更新时间:2024-08-09 GMT+08:00
分享

创建架构模板

使用说明

项目遵循相同的结构和模式时,可以创建架构模板,并使用该模板创建应用,减少设计和实现的时间。

架构模板为Astro Pro企业版功能,如果您需要使用此功能,请升级Astro Pro产品版本。

创建架构模板

  1. 参考登录AstroPro界面中操作,登录AstroPro界面。
  2. 在左侧导航栏中,选择后端开发平台 > 资产管理 > 架构模板
  3. 在项目下拉框中选择对应项目或全局,即可设置模板的范围。

    图1 选择创建模板的项目

  4. 在架构模板页面,单击“新增架构模板”。
  5. 配置模板信息后,单击“下一步”。

    • 模板名称:输入模板名称,名称仅允许以英文字母开头,包含英文字母和数字,一般采用驼峰格式或“-”连接,长度最低为两位。
    • 模板类型:默认为架构模板,暂不支持修改。
    • 模板范围:根据3选择的项目,确认模板范围。选择对应项目,则模板范围为指定项目,选择全局,则模板范围为所有项目。
      图2 配置模板基本信息

  6. 设置模板基本配置后,单击“下一步”。

    • 下拉框中选择模板框架。
    • 选择是否开启客户端。
      图3 设置模板基本配置

  7. 选择模板的参考架构。

    图4 选择参考架构

  8. 数据库设置。

    图5 设置数据库
    • 数据库:选择数据库的类型,支持MySQL、PostgreSQL和GaussDB。
    • 分库策略:选择数据的分片算法。参考架构选择“数据库分库+分布式缓存”时,需要设置。
      • MOD:直接使用分片数取模,余数为分片编号(从0开始编号)。适用整数类型的字段。
      • HASH_MOD:先使用哈希算法,再使用MOD算法。适用字符串类型的字段。
      • RANGE:按照固定的字段值范围映射到分片编号。适用整数、时间类型的字段。
      • CUSTOM:用户插件实现特定的SPI。适用所有类型的字段。
      • INTERVAL:按照时间间隔分表,分片列必须为时间类型或时间格式的字符串。
    • 分库数量:设置分库的数量。参考架构选择“数据库分库+分布式缓存”时,需要设置。
    • 分库字段:设置分库的字段名,可单击“添加字段”,按需进行添加。分库对象默认使用根对象主键分库,根对象默认使用自身主键分库。参考架构选择“数据库分库+分布式缓存”时,需要设置。
    • 主键策略:设置主键的生成方法。数据库中的主键,用于唯一标识一条记录。
      • UUID:使用mybatis interceptor生成的字符串UUID,分表采用hash,逻辑表数量难扩容。
      • 雪花算法:使用ShardingJDBC雪花算法,id以时间戳开头,分表采用hash,逻辑表数量难扩容。
      • 自增主键(32位)/自增主键(64位):使用整数range分表,需自己开发插件完成分表算法,逻辑表数量比较容易扩容。
      • 用户自定义:使用用户自定义的方法。
    • 数据源:设置数据库的SDK类型。
      • DevSpore:DevSpore数据源。
      • Spring:原生Spring数据源。
    • ORM框架:ORM(Object Relational Mapping)框架采用元数据来描述对象与关系映射的细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中。
      • MyBatis:MyBatis是一款持久化架构,支持自定义SQL、存储过程和高级映射。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Ordinary Java Objects,普通的Java对象)映射成数据库中的记录。
      • MyBatis/MyBatisPlus:MyBatis-Plus是一个MyBatis的增强工具,为MyBatis提供了一些高效、实用、开箱即用的特性,使用MyBatis-Plus可以有效的节省开发时间。

  9. 安全认证设置。

    图6 安全认证设置
    • 身份认证
      • 不启用:不启用安全认证机制。
      • 华为云OneAccess:使用OneAccess作为安全认证机制。华为云OneAccess是一个贯穿企业全业务流程的身份安全管理服务。更多关于OneAccess的介绍,请参见应用身份管理服务OneAccess
    • 密码加密:配置文件中密码加解密方式。
      • 不启用:不内置加解密方式。
      • 开源Jasypt:使用开源进行加解密。
    • 参数校验:参数校验使用的类型。
      • 不启用:不对参数进行Jasypt校验。
      • Hibernate:使用Hibernate注解参数校验方式。

  10. 云服务设置。

    图7 云服务设置
    • 注册发现/配置中心
      • 不启用:不对接配置管理服务。
      • CSE:使用微服务引擎服务CSE作为配置管理服务。CSE是微服务应用的云中间件,为用户提供了注册发现、服务治理、配置管理等高性能和高韧性的企业级云服务能力,可无缝兼容Spring Cloud、ServiceComb等开源生态,用户也可以结合其他云服务,快速构建云原生微服务体系,实现微服务应用的快速开发和高可用运维。更多关于CSE的介绍,请参见微服务引擎CSE
      • NACOS:使用NACOS作为配置管理服务。NACOS提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
    • 调用链
      • 不启用:不启用调用链。
      • 华为云APM:使用应用性能管理服务APM作为调用链。APM您的云上引用健康管理专家,可帮助运维人员快速发现应用的性能瓶颈,以及故障根源的快速定位,为用户体验保驾护航。更多关于APM的介绍,请参见应用性能管理APM
    • 服务监控
      • 不启用:不对接服务监控组件。
      • 华为云AOM:使用应用运维管理服务AOM作为服务监控组件。应用运维管理AOM是云上应用的一站式立体化运维管理平台,实时监控您的应用及相关云资源,分析应用健康状态,提供灵活丰富的数据可视化功能,帮助您及时发现故障,全面掌握应用、资源及业务的实时运行状况。更多关于AOM的介绍,请参见应用运维管理AOM

  11. 设置完成后,单击“下一步”,进入生成策略页面。
  12. API设置。

    图8 API设置
    • Json序列化
      • 小驼峰:序列化后的json属性名,采用驼峰格式。
      • 下划线:序列化后的json属性名,采用下划线连接单词。
    • 标准响应体:返回的响应体是否使用标准样式。
      {
          "code": 200,
          "msg": "success",
          "data": {
              "name": "zhangsan",
              "birthday": "1990-01-01",
              "other_properties": "..."
          }
      }
    • Web框架模型:生成基于spring-webmvc的API层。
    • 关闭API中根对象前缀:设置为“是”时,sharding bo的API前面不需要添加root bo的路径。
    • 查询参数阈值:设置查询参数阈值,值为“0”时不生效。当查询参数大于该阈值时,将多个查询参数转换为对象。

  13. 设置代码风格。

    图9 设置代码风格
    • 配置文件格式:配置spring boot properties文件格式。
      • yaml :配置文件使用yaml格式。
      • properties :配置文件使用properties格式。
    • Lombok插件:是否为DO、DTO或QO定义类自动生成Lombok注解。
    • 工程目录:设置生成代码的工程目录样式。
      • 单Module:工程目录结构只有一个模块。
      • base/service:工程目录结构包含base和service两个模块。
      • DDD:和单Module一样,工程目录结构只有一个模块。
      图10 工程目录不同类型设置效果
    • module添加服务名前缀:配置为“是”时,模块名称前会添加服务名前缀。
      图11 开启前后效果

  14. 设置部署信息。

    图12 设置部署信息
    • 服务部署脚本
      对接CCE部署和ServiceStage部署时,生成的代码中会包含如下内容:
      • 根目录中会增加“ .cam”文件夹,包含“cam.yml”“variables.yml”文件。
      • service模块的“application.yam”文件中,会增加“server.tomcat”配置参数。
      • dockerfile脚本会做相应的修改。
    • 服务打包方式
      • jar:打成jar包。jar通常包含一些Java类文件、相关元数据和资源,在声明了Main_class后可使用java命令运行。
      • war:打成war包。war是Java Web应用程序的标准打包格式,war是一个Web模块,包括WEB-INF目录,可直接运行于Web容器中。

  15. 设置完成后,单击“创建”,完成架构模板创建。

相关文档