模块一作业
微信业务架构(个人理解)
“学生管理系统” 毕业设计
要求
公网域名访问
支撑 1000 人
3 人合作
不推荐太简单或者太复杂
团队能力
都会 java,有人擅长 php
大家经济条件一般
分析
需要域名访问,那么需要 nginx 反向代理域名
支撑 1000 人,对于系统没有太大压力
3 人合作,项目需要分模块,协作开发
都会 java,有人擅长 php,从团队开发能力上,选择 java 作为开发语言
大家经济能力一般,不能投入太多的成本
架构选型
nginx: 反向代理,域名配置
web 服务器: 处理系统业务逻辑
mysql:数据存储,每日备份
架构设计
架构方案一
3 台服务器,分别部署 nginx web mysql
在成本充裕下,nginx,web 服务器,mysql 单独部署
架构方案二
2 台服务器,nginx web 部署在一台 mysql 单独一台
服务器流量完全能支撑 1000 个用户。
考虑到安全性,mysql 单独一台服务器
架构方案三
一台服务器,nginx,web 服务器,mysql 部署在一起
通过成本考虑,只要支持 1000 个用户,1 台服务器是完成能支撑的
方案确定
选择方案二,理由如下
从合适原则上来看,成本来说,3 个人购买 2 台服务器完全能承受。服务人数上说,支撑 1000 用户,nginx 和 web 服务器放一台服务器,一台服务器支持 1000 用户是没问题的。从数据安全,mysql 单独部署。增加一定健壮性,加上每日备份。即时数据丢失,也就是一天的数据,用户量不是特别大。数据的变化不会特别明显。
从简单原则,2 台服务器,部署简单。
后期演化,用户增加,可以把 nginx 服务器独立出去,既可以转变 3 台服务器,单独部署。
版权声明: 本文为 InfoQ 作者【周文】的原创文章。
原文链接:【http://xie.infoq.cn/article/ff89dbddd42b56caacc381972】。文章转载请联系作者。
评论