写点什么

架构师实战营模块一作业

作者:圈圈gor
  • 2021 年 12 月 09 日
  • 本文字数:705 字

    阅读完需:约 2 分钟

1. 微信业务架构图

业务架构,即描述系统对用户提供的功能,类似 4+1 视图中的场景视图,两个关键字:功能,场景。

个人理解:场景作为边界,粒度细到具体的功能;


2.学生管理系统


2.1 需求

假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:

① 要求可以通过公网域名访问;

② 要求至少 3 人合作完成;

③ 能够支撑管理 1000 个学生;

④ 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。


2.2 资源

① 大家都会 Java,但是有一个是 PHP 高手;

② 大家经济条件一般。


2.3 分析

需求主要在于,在经济成本有限的情况下,保证系统可运行且能够支撑管理 1000 用户,因此可知系统对并发支持要求不高,需要考虑可用性,以及一定的成本约束,另外基于当前 Java+PHP 的技术栈,可适当控制可扩展性。


2.4 设计

方案一


部署方面,本方案利用 Nginx 进行负载均衡。基于当前用户数量及场景考虑,采用云存储而非独立文件服务器,以减少运维及服务器成本。数据库方面采用主从结构,保证可用性。

技术实现方面,采用 PHP 高手负责业务实现,提供 API 接口调用,另外两位同学基于 HTML+JS+CSS,负责前端实现,这样可充分利用各自技术特长,保证可行;


方案二

本方案为云实现方案,通过各种云方案接口实现系统。


方案三

本方案为基于 Spring 微服务架构。


2.5 对比

采用方案二。理由如下:

1.方案一充分利用了各自技术特长,技术复杂度比较低,但是需要服务器较多,经济成本大;

2.方案三的运维部署比较复杂,技术要求相对高;

3.方案二中主要的技术点在于对接各服务接口,考虑有 PHP 高手在,难度不大,并且经济成本也比较低;

基于架构设计原则之合适,简单,演进考虑,方案二比另外两个方案更均衡,所以采用此方案。


发布于: 4 小时前阅读数: 5
用户头像

圈圈gor

关注

还未添加个人签名 2018.07.03 加入

还未添加个人简介

评论

发布
暂无评论
架构师实战营模块一作业