03 详细架构设计
1 业务背景
为学校定制开发的学生课程管理系统。
2 约束和限制
成本:金钱预算较少,只能使用个位数服务器资源。
技术:反向代理使用 nginx,数据库使用 mysql,整体技术要求简单不应过度技术。
质量:性能要求低,只在学校内部使用。可靠性要求一般,出现问题不会影响学校正常运行。扩展性要求低,学校业务简单可预见。
3 总体架构
3.1 架构分析
性能:仅在学校使用,使用频率低,固性能要求不高。
可靠性:辅助学校课程管理,出问题也不会影响学校正常运行,但考虑到是外包系统,对公司声誉影响,所以在可靠性要求上为中等。
扩展性:学校业务简单,扩展可能性不高。
3.2 总体架构描述
学生,权限,课程服务:对内学生服务提供基础学生数据让其他服务调用,权限服务提供鉴权功能给其他服务使用;对内分别直接对接客户端,对用户暴露相关的业务功能
运营服务:对内通过调用学生,权限,课程服务进行相关业务的后台管理;对外对用户暴露实现后台管理的业务功能。
数据库:通过主从模式保证可靠性
4 详细设计
4.1 核心功能
4.2 关键设计
4.3 设计规范
5 质量设计
运营服务:
提供后台管理的功能,可以给予系统可测试,可运维,可观测的能力基础。
成本:
以部署阿里云为例子,ECS2 核 8G 3828 元,独享型 mysql 2 核 4G 3828 元。
服务一个 2G 内存占用计算,一个服务器可以部署 3 个服务,需要 ECS 数为 2*4/3 = 3 (向上取整)
数据库需要两个, 则独享型服务数为 2
额外再占用一个 ECS 作为 nginx 的部署
总计一年费用为 : 3828*4(15312) + 3828*2(7652) = 22964 元
评论