更新时间:2024-12-25 GMT+08:00
配置架构模板
使用说明
项目遵循相同的结构和模式时,可以创建架构模板,并使用该模板创建应用,减少设计和实现的时间。
约束与限制
架构模板为Astro Pro企业版功能,如果您需要使用此功能,请升级Astro Pro实例版本。
创建架构模板
- 参考登录AstroPro界面中操作,登录AstroPro界面。
- 在左侧导航栏中,选择 。
- 在顶部项目下拉框中选择对应项目或工作空间,即可设置模板的范围。
- 全局模板为系统预置模板,不可编辑。
- 选择对应项目,则模板范围为指定项目,选择工作空间,则模板范围为工作空间内所有项目。
- 非工作空间管理员仅可创建对应项目模板,具体权限约束可参考了解AstroPro中角色。
图1 选择创建模板的项目 - 在架构模板页面,单击“新建架构模板”。
- 配置模板信息后,单击“下一步”。
- 模板名称:输入模板名称,名称仅允许以英文字母开头,包含英文字母和数字,一般采用驼峰格式或“-”连接,长度最低为两位。
- 模板类型:默认为架构模板,暂不支持修改。
- 模板范围:根据3选择的项目,确认模板范围。
图2 配置模板基本信息
- 设置模板基本配置后,单击“下一步”。
- 下拉框中选择模板框架。
- 选择是否开启客户端。
图3 设置模板基本配置
- 选择模板的参考架构。
图4 选择参考架构
- 数据库设置。
图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可以有效的节省开发时间。
- 安全认证设置。
图6 安全认证设置
- 身份认证
- 不启用:不启用安全认证机制。
- 华为云OneAccess:使用OneAccess作为安全认证机制。华为云OneAccess是一个贯穿企业全业务流程的身份安全管理服务。更多关于OneAccess的介绍,请参见应用身份管理服务OneAccess。
- 密码加密:配置文件中密码加解密方式。
- 不启用:不内置加解密方式。
- 开源Jasypt:使用开源进行加解密。
- 参数校验:参数校验使用的类型。
- 不启用:不对参数进行Jasypt校验。
- Hibernate:使用Hibernate注解参数校验方式。
- 身份认证
- 云服务设置。
图7 云服务设置
- 注册发现/配置中心
- 不启用:不对接配置管理服务。
- CSE:使用微服务引擎服务CSE作为配置管理服务。CSE是微服务应用的云中间件,为用户提供了注册发现、服务治理、配置管理等高性能和高韧性的企业级云服务能力,可无缝兼容Spring Cloud、ServiceComb等开源生态,用户也可以结合其他云服务,快速构建云原生微服务体系,实现微服务应用的快速开发和高可用运维。更多关于CSE的介绍,请参见微服务引擎CSE。
- NACOS:使用NACOS作为配置管理服务。NACOS提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
- 调用链
- 不启用:不启用调用链。
- 华为云APM:使用应用性能管理服务APM作为调用链。APM您的云上引用健康管理专家,可帮助运维人员快速发现应用的性能瓶颈,以及故障根源的快速定位,为用户体验保驾护航。更多关于APM的介绍,请参见应用性能管理APM。
- 服务监控
- 不启用:不对接服务监控组件。
- 华为云AOM:使用应用运维管理服务AOM作为服务监控组件。应用运维管理AOM是云上应用的一站式立体化运维管理平台,实时监控您的应用及相关云资源,分析应用健康状态,提供灵活丰富的数据可视化功能,帮助您及时发现故障,全面掌握应用、资源及业务的实时运行状况。更多关于AOM的介绍,请参见应用运维管理AOM。
- 注册发现/配置中心
- 设置完成后,单击“下一步”,进入生成策略页面。
- 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”时不生效。当查询参数大于该阈值时,将多个查询参数转换为对象。
- Json序列化
- 设置代码风格。
图9 设置代码风格
- 配置文件格式:配置spring boot properties文件格式。
- yaml :配置文件使用yaml格式。
- properties :配置文件使用properties格式。
- Lombok插件:是否为DO、DTO或QO定义类自动生成Lombok注解。
- 工程目录:设置生成代码的工程目录样式。
- 单Module:工程目录结构只有一个模块。
- base/service:工程目录结构包含base和service两个模块。
- DDD:和单Module一样,工程目录结构只有一个模块。
图10 工程目录不同类型设置效果 - module添加服务名前缀:配置为“是”时,模块名称前会添加服务名前缀。
图11 开启前后效果
- 配置文件格式:配置spring boot properties文件格式。
- 设置部署信息。
图12 设置部署信息
- 服务部署脚本
- 服务打包方式
- jar:打成jar包。jar通常包含一些Java类文件、相关元数据和资源,在声明了Main_class后可使用java命令运行。
- war:打成war包。war是Java Web应用程序的标准打包格式,war是一个Web模块,包括WEB-INF目录,可直接运行于Web容器中。
- 设置完成后,单击“创建”,完成架构模板创建。
编辑架构模板
- 参考登录AstroPro界面中操作,登录AstroPro界面。
- 在左侧导航栏中,选择 。
- 在架构模板列表中选中待操作的模板,单击“操作”的列“编辑”。
- 在架构模板编辑页面中,根据需求重新设置模板信息、基本配置、架构配置及生成策略,具体参数说明可参考创建架构模板。
- 配置完成后,单击“保存”,架构模板编辑完成。
单个删除架构模板
- 参考登录AstroPro界面中操作,登录AstroPro界面。
- 在左侧导航栏中,选择 。
- 在架构模板列表中选中待删除的模板,单击“操作”的列“删除”。
- 在弹框中单击“确认”,完成架构模板单个删除。
删除后无法恢复,请谨慎操作。
批量删除架构模板
- 参考登录AstroPro界面中操作,登录AstroPro界面。
- 在左侧导航栏中,选择 。
- 在架构模板列表中勾选待删除的模板,单击“批量删除”。
- 在弹框中单击“确认”,完成架构模板批量删除。
删除后无法恢复,请谨慎操作。
父主题: 资产库管理