架构 --- 作业 1
结构图
毕设分析:
复杂度分析:
高性能:已知需求为支持管理 1000 人的系统,且学生管理系统没有复杂业务,可以认为没有性能瓶颈。
高可用:可以认为学生管理系统不存在需要即时完成的业务,短时间的服务中断影响可以忽略。
服务的扩展性:由于是毕业设计,当作一次性交付的系统,系统扩展
安全性:需要做到各个角色(老师、学生、教务)数据逻辑隔离,有严格的权限控制。对于进入系统的数据尽量不要丢失。
成本:已知参与的同学经济条件一般,无法负担复杂的物理架构的成本。
团队技术栈:三人有 java 开发能力,一人是 PHP 高手,可以考虑纯 java 开发或是 java+php 构建 view 的开发方向。
方案一
方案二
综合考虑:
方案二相比于方案一拆分除了一个 php 的服务器,但是由于 php 本身的特性资源开销小,
增加的服务器相比 java 服务器不需要很好的配置,成本可控。
php 与 java 的分层开发,增加了程序之间的交互,系统复杂成度增加,但考虑到 PHP 高手
的存在,程序开发的难度可控。且由于 PHP 相比 java 工作量更小,总的开发量可能会小一些。
方案二相比于方案一,稳定性更强。PHP 构成的 view 层可以动态维护,一定程度避免了 java
容器异常时,学生管理系统完全不能使用的尴尬。虽然在复杂度分析中认为对系统的高可用没要求。
但部分实现应该有利于得到更高的分数。
如果后续存在可能的多服务部署,由于通常读操作会数倍写操作,PHP 进行集群部署成本
要远低于 java。
综上:考虑使用方案二,即 php 实现 view 层相关功能并直连数据库读取数据,java 服务实现入库及各种
数据校验等功能。php 通过调用接口的方式向 java 服务传输数据。
评论