步骤2:框架配置
框架配置和基本配置一样,需要您根据实际情况进行勾选配置,不同的配置会呈现不同的效果。
- 是否启用模板,默认不启用,如需启用,在下拉框中选择已创建的模板。创建模板具体操作请参考创建架构模板。
选择模板后,模板配置将自动带入包括“框架配置”和“生成策略”。
- 选择参考框架。
选择参考框架为Astro Pro专业版/企业版功能,如果您需要使用此功能,请升级Astro Pro实例版本。
图1 选择参考架构
- 单数据库DB(参考单表查询QPS < 1w):只有一个数据源。
- 读写分离数据库(参考单表查询QPS < 3w):默认添加两个数据源,一个负责写数据,一个负责查数据。如果数据源使用DevSpore,就使用devspore-datasource的读写分离模式。如果使用的是Spring数据库,则使用shardingsphere的读写分离模式。
- 读写分离数据库+分布式缓存(参考单表查询QPS < 5w):数据库开启读写分离,并且开启Redis缓存。
- 数据库分库+分布式缓存(参考单表查询QPS < 5w):支持数据库分库,分库数量及规则自定义,并且开启Redis缓存。
- 数据库设置。
图2 设置数据库
- 数据库:选择数据库的类型,支持MySQL和PostgreSQL。
- 分库策略:选择数据的分片算法。参考架构选择“数据库分库+分布式缓存”时,需要设置。
- 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格式,并且存放在专门的对象一映射文件中。
选择ORM框架为Astro Pro专业版/企业版功能,如果您需要使用此功能,请升级Astro Pro实例版本。
- MyBatis:MyBatis是一款持久化架构,支持自定义SQL、存储过程和高级映射。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Ordinary Java Objects,普通的Java对象)映射成数据库中的记录。
- MyBatis/MyBatisPlus:MyBatis-Plus是一个MyBatis的增强工具,为MyBatis提供了一些高效、实用、开箱即用的特性,使用MyBatis-Plus可以有效的节省开发时间。
- 缓存设置。
外部缓存设置为Astro Pro专业版/企业版功能,如果您需要使用此功能,请升级Astro Pro实例版本。
图3 缓存设置
- 不启用:不对接缓存服务。
- REDIS:Redis是一种支持Key-Value等多种数据结构的存储系统,可用于缓存、事件发布或订阅、高速队列等场景。使用华为云DCS Redis作为缓存中间件,可简化缓存参数维护操作。更多关于DCS Redis的介绍,请参见分布式缓存服务DCS。
- 安全认证设置。
图4 安全认证设置
- 身份认证
身份认证设置为Astro Pro专业版/企业版功能,如果您需要使用此功能,请升级Astro Pro实例版本。
- 不启用:不启用安全认证机制。
- 华为云OneAccess:使用OneAccess作为安全认证机制。华为云OneAccess是一个贯穿企业全业务流程的身份安全管理服务。更多关于OneAccess的介绍,请参见应用身份管理服务OneAccess。
- 自定义认证:支持使用自定义插件进行安全认证。更多自定义认证介绍,请参见如何使用自定义认证插件。
- 密码加密:配置文件中密码加解密方式。
- 不启用:不内置加解密方式。
- 开源Jasypt:使用开源Jasypt进行加解密。
- 服务鉴权
- 服务鉴权设置为Astro Pro专业版/企业版功能,如果您需要使用此功能,请升级Astro Pro实例版本。
- 开启服务鉴权机制前,请先在基本配置中开启扩展拦截。
- 不启用:不启用服务鉴权机制。
- 自定义鉴权:使用自定义插件进行服务鉴权。更多自定义鉴权介绍,请参见如何使用自定义鉴权插件。
- 参数校验:参数校验使用的类型。
- 不启用:不对参数进行校验。
- Hibernate:使用Hibernate注解参数校验方式。
- 身份认证
- 云服务设置。
图5 云服务设置
- 注册发现/配置中心
- 不启用:不对接配置管理服务。
- CSE:使用微服务引擎服务CSE作为配置管理服务。CSE是微服务应用的云中间件,为用户提供了注册发现、服务治理、配置管理等高性能和高韧性的企业级云服务能力,可无缝兼容Spring Cloud、ServiceComb等开源生态,用户也可以结合其他云服务,快速构建云原生微服务体系,实现微服务应用的快速开发和高可用运维。更多关于CSE的介绍,请参见微服务引擎CSE。
- NACOS:使用NACOS作为配置管理服务。NACOS提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
- 调用链
- 不启用:不启用调用链。
- 华为云APM:使用应用性能管理服务APM作为调用链。APM您的云上引用健康管理专家,可帮助运维人员快速发现应用的性能瓶颈,以及故障根源的快速定位,为用户体验保驾护航。更多关于APM的介绍,请参见应用性能管理APM。
- 服务监控
- 不启用:不对接服务监控组件。
- 华为云AOM:使用应用运维管理服务AOM作为服务监控组件。应用运维管理AOM是云上应用的一站式立体化运维管理平台,实时监控您的应用及相关云资源,分析应用健康状态,提供灵活丰富的数据可视化功能,帮助您及时发现故障,全面掌握应用、资源及业务的实时运行状况。更多关于AOM的介绍,请参见应用运维管理AOM。
- 注册发现/配置中心
- 设置完成后,单击“下一步”,进入生成策略页面。