软件开发生产线 CODEARTS-方案概述:方案架构

时间:2024-01-17 09:21:08

方案架构

  • “凤凰商城”示例程序架构

    “凤凰商城”示例程序的架构图如图2所示。

    图2 凤凰商城技术架构图

    示例程序由表1中的5个可以独立开发、测试和部署的微服务组件构成。

    表1 凤凰商城微服务组件表

    微服务组件

    说明

    Web用户端服务器(对应样例代码中的“Vote”功能)

    • 业务逻辑:用户可以通过浏览器访问此服务的WebUI。当用户在特定商品上单击“Like”时,服务将用户所选择物品的记录保存在Redis缓存中。
    • 技术栈:Python、Flask框架。
    • 应用服务器:Gunicorn。

    Web管理端服务器(对应样例代码中的“Result”功能)

    • 业务逻辑:用户可以通过浏览器访问此服务的WebUI,会动态显示用户端UI上用户单击“Like”的统计数据,此数据来自PostgreSQL数据库。
    • 技术栈:Node.js、express框架。
    • 应用服务器:server.js。

    后台订单批处理程序(对应样例代码中的“Worker”功能)

    • 业务逻辑:此服务为后台进程,会监控Redis缓存中物品记录,并将新纪录取出并保存在PostgreSQL数据库中,以便管理端UI可以抽取数据进行统计显示。
    • 技术栈:.net core或者Java(此服务提供两种技术栈实现了同样的功能,可根据需要修改配置选择其中一个作为运行时进程)。

    订单缓存

    • 业务逻辑:此服务作为用户端UI服务的数据持久化服务存在。
    • 技术栈:Redis

    订单数据库

    • 业务逻辑:此服务作为管理端UI服务的数据源。
    • 技术栈:PostgreSQL
  • “DevOps全流程样例项目”构成

    “DevOps全流程样例项目”是一个Scrum类型的模板项目,项目中预置了部分服务的使用模板。项目实践过程中涉及到的产品及服务如下表。

    表2 实践涉及产品/服务列表

    服务

    说明

    软件开发生产线

    需求管理

    预置3个已规划并已完成的迭代、项目的模块设置、以及若干统计报表。

    代码托管

    预置代码仓库“phoenix-sample”,存放项目示例代码。

    代码检查

    预置4个任务,任务详情介绍请参见步骤四:检查代码

    编译构建

    预置5个任务,任务详情介绍请参见步骤五:构建应用

    制品仓库

    用于存储通过构建任务生成的软件包。

    部署

    预置3个应用,应用详情介绍请参见步骤六:部署应用(CCE篇)

    测试计划

    功能测试用例库,预置十余个测试用例。

    流水线

    预置5条流水线,流水线详情介绍请参见步骤八:配置流水线,实现持续交付

    说明:

    购买专业版或企业版CodeArts套餐的用户,创建示例项目后可见5条流水线;购买体验版或基础版CodeArts套餐的用户,创建示例项目后只可见流水线“phoenix-workflow”,升级套餐至专业版或企业版后,需重新创建示例项目才可见5条流水线。

    其它组件和服务

    统一身份认证服务

    用于管理账号。

    容器镜像服务

    用于存放构建任务生成的Docker镜像。

    云容器引擎

    用于软件包部署,与ECS部署属于两种不同的部署方式。

    弹性云服务器

    用于软件包部署,与CCE部署属于两种不同的部署方式。

support.huaweicloud.com/bestpractice-devcloud/devcloud_practice_20072.html