模块一
微信业务架构图
学生管理平台架构设计
复杂度分析
高可用:
业务服务器:业务服务器需要保证基础的高可用。
数据库:不能丢失全部数据。
高性能:当前需求无需高性能。
可扩展:对扩展性无额外要求。
成本:部署成本需要考虑团队大小,因此不能过高。
团队:团队成员少,需要遵循简单原则,架构设计不能过于复杂。
备选方案一
架构说明
负载层可以选择 Nginx+HA 做主备或者 SLB
PHP 负责前端部分,Java 负责后端部分
MySQL 采用主备
使用 Nginx 情况下总共需要 6 台服务器(Nginx2 台、业务服务 2 台、MySQL2 台)。
架构分析
优点:考虑团队有 PHP 高手,充分利用了团队资源。
缺点:小团队且技术站不统一,PHP 部分只有一个人懂,成为维护瓶颈。
备选方案二
架构说明
负载层可以选择 Nginx+HA 做主备或者 SLB
业务服务采用 MVC 架构
MySQL 采用主备
使用 Nginx 情况下总共需要 6 台服务器(Nginx2 台、业务服务 2 台、MySQL2 台)。
架构分析
优点:技术站统一且团队技术都满足要求,整体架构满足 1000 人系统的承载能力,符合简单原则。
缺点:没有利用 PHP 高手能力。
最终方案
最终采用方案二,在两套方案都满足业务要求的情况下,基于简单原则方案二更优。
评论