极客时间 --- 架构实战营 2 期 --- 模块一作业
姓名:唐瑭
学号:G20210698040018
第一题:画出微信业务架构图
如下图,该图参考了网上的一些资料:
第二题:学生管理系统毕业架构设计
自己的思路:
这个毕设对高性能要求应该不高,只需要支持 1000 个同学的管理。
高可用上还是需要保证的。为了防止数据丢失,需要用到数据库的集群。
大家都会 Java,但是有一个还会 PHP,我在想可不可以混合开发,让那个精通 PHP 的同学用 PHP 语言做前端接入,后两位同学做 Java 服务,PHP 页面上会调用后端 Java 服务。这样项目开发效率会高一些。
当然也可以不考虑会这个 PHP 这个点,全部用 Java。
考虑到大家经济条件一般,就不考虑云了。为了更好的展示项目,可以选用一台电脑,上面用 docker 部署所有的组建:数据库,tomcat,nginx,apache 等,用 docker 部署快速方便。
下面我给出两个方案:
第一个方案
前后端分离,所有组建用 docker 实现快速部署
第二个方案
不考虑前后端分离,采用 MVC 模式,V 层让 PHP 的同学负责开发,另外两位同学负责拆分后端 Java 服务
最终方案以及理由:
为了毕设,我可能会选第一个方案,第一个方案相对与第二个方案可以实现高可用,高性能,今后如果数据库出现了瓶颈可以用 PXC 集群,放很多 MYSQL 实例,以后业务大了,再实现 Java 服务拆分也不迟。而且用到了 docker,项目演示的时候用一台性能好的电脑,部署应该没那么复杂,我感觉毕设得分肯定高一些。而且后端最好用一个技术栈 Java,第二种混合的模式 PHP 加 Java 可能不利于后期开发维护。毕竟不是所有的 Java 程序员都会 PHP。
评论