云服务器内容精选

  • 步骤4:业务设计 步骤1:基本配置、步骤2:框架配置和步骤3:生成策略中参数,只需要用户根据自身业务直接在界面进行勾选配置。而业务设计需要用户根据实际的需求,进行业务模型的设计和配置。 例如,创建一个简单的订单系统,订单系统中包括用户(User)、订单(Order)和订单详情(OrderDetail)三个业务对象,且三个对象之间存在聚合关系,即用户存在时,订单才会存在,订单存在时,订单详情才会存在。同时一个用户可以关联多个订单,订单通过单号进行标识,一个订单又可以关联多个商品,例如手机、耳机等,商品可以记录数量。实现上述业务逻辑,需要进行如下设计: 在业务设计页面,拖拽所需的对象到设计区,并修改对象名称。 AstroPro提供了BO、Abstract BO和Value Object三种类型的对象,请根据业务需求进行选择。 BO:业务对象,业务对象映射到服务中的一个实体,对应数据库中的一张表。 Abstract BO:抽象对象,不能实例化,没有对应的数据库表,需要和业务对象有个继承的操作。例如,业务对象A继承一个抽象对象B,则B中的字段都会被A继承过来。 Value Object:值对象,不能单独存在,需要和业务对象建立聚合的关系。 本示例中,拖拽三个BO对象到设计区,选中对应的BO,修改对象名称为User、Order和OrderDetail。 图1 拖拽三个BO到设计区 设置对象属性。 本示例中,因为一个用户需要关联多个订单,订单通过单号进行标识,一个订单又可以关联多个商品,商品可以记录数量。所以需要为“User”添加“name(用户名)”字段,用于记录用户信息。为“Order”添加“orderNo(订单编号)”字段,用于记录订单的编号。为“OrderDetail”添加“product(商品)”、“amount(数量,integer类型)”字段,分别用于记录商品的详情和商品的数量。 图2 为User对象添加name 图3 为Order添加orderNo 图4 OrderDetail添加product和amount 建立对象之间的关系。 AstroPro提供了一对多、多对多、聚合、树递归和继承五大关系,请根据自身业务需求进行选择。各对象间关系详细介绍,请参见对象间关系。 本示例中的订单系统,当用户存在时,订单才会存在,订单存在时,订单详情才会存在,此时需要为三个对象之间建立聚合关系。聚合关系中,次要方必须依赖首要方,任何对于次要方的操作首先要经过首要方才能继续往下操作。在User和Order的聚合关系中,User为首要方,Order为次要方,即用户存在时,订单才会存在。在Order和OrderDetail的聚合关系中,Order为首要方,OrderDetail为次要方,即订单存在时,订单详情才会存在。 图5 设置对象间关系 设置完成后,单击“下一步”,进行服务依赖设置。 父主题: 编辑服务
  • 步骤3:生成策略 生成策略和基本配置、框架配置一样,需要您根据实际情况进行勾选配置,不同的配置会呈现不同的效果。 API设置。 图1 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”时不生效。当查询参数大于该阈值时,将多个查询参数转换为对象。 设置代码风格。 图2 设置代码风格 配置文件格式:配置spring boot properties文件格式。 yaml :配置文件使用yaml格式。 properties :配置文件使用properties格式。 Lombok插件:是否为DO、DTO或QO定义类自动生成Lombok注解。 工程目录:设置生成代码的工程目录样式。 单Module:工程目录结构只有一个模块。 base/service:工程目录结构包含base和service两个模块。 DDD:和单Module一样,工程目录结构只有一个模块。 图3 工程目录不同类型设置效果 module添加服务名前缀:配置为“是”时,模块名称前会添加服务名前缀。 图4 开启前后效果 设置部署信息。 图5 设置部署信息 服务部署脚本 图6 服务部署脚本设置效果对比 主机部署:对接鲁班部署,将生成“.clouddeploy”和必备的目录和文件。 容器部署:对接流水线部署,将生成“.cloudbuild”和对应的“build.yml”文件。 否:不对接部署。 服务打包方式 jar:打成jar包。jar通常包含一些Java类文件、相关元数据和资源,在声明了Main_class后可使用java命令运行。 war:打成war包。war是Java Web应用程序的标准打包格式,war是一个Web模块,包括WEB-INF目录,可直接运行于Web容器中。 性能测试。 是否使用CodeArts PerfTest进行性能测试。性能测试CodeArts PerfTest是一项为基于HTTP/HTTPS/TCP/UDP/HLS/RTMP/WEBSOCKET/HTTP-FLV等协议构建的云应用提供性能测试的服务,支持快速模拟大规模并发用户的业务高峰场景,可以很好的支持报文内容和时序自定义、多事务组合的复杂场景测试,测试完成后会为您提供专业的测试报告呈现您的服务质量。更多关于CodeArts PerfTest的介绍,请参见性能测试CodeArts PerfTest。 图7 性能测试 租户配置。 图8 租户配置 多租模型:是否支持多租户资源隔离。 Tenant:支持多租模式,BO级多租配置multiTenant生效,开启BO级多租的业务对象必须关联到租户,包含租户id字段,租户id字段可自定义名称。 否:无内置租户模型。 租户验证方式:设置租户ID资源获取方式。“多租模型”设置为“Tenant”时,才显示该配置。 Header:使用header头携带方式传入tenantId。 Token:使用token方式传入tenantId。 设置完成后,单击“下一步”,进入业务设计页面。 父主题: 编辑服务