模块一作业
1.微信服务架构:
2.学生管理系统”毕设架构设计
(a)业务需求
1.要求可以通过公网域名访问
2.能够支撑管理 1000 个学生
团队:3 人,大家都会 Java,但是有一个是 PHP 高手
成本:经济条件一般
(b)判断复杂度:
高性能:1000 个学生对系统要求不高。复杂度低。
高可用: 数据不要全部丢失。
可扩展:业务要求有第一定的复杂度。
安全:不涉及金融、证券和资金。安全复杂度低。
成本:经济条件一般,要求复杂度低。
这个系统的复杂度主要在:
数据高可用:数据不要全部丢失
可扩展:业务要求有第一定的复杂度。
(c)面向复杂度架构设计
优点:
NGIX 比起 DNS 可提供多一些功能,如 load balancing.
拆分成三个子系统,业务划分清楚,分工容易。
数据库有主备分,不会丢失全部数据
缺点:
成本比较高
因为划分成 3 个子系统,复杂度比备选架构 3 和 4 来得高,部署维修高。
另外,也必须搭建新的 NGINX,开发时间会稍微长。
优点:
现在 DNS 可以降低成本,不过还是能符合通过公网域名访问。
因为使用现有的 DNS,开发时间可以减少。
拆分成三个子系统,业务划分清楚,分工容易。
数据库有主备分,不会丢失全部数据
缺点:
成本比较高
因为划分成 3 个子系统,复杂度比备选架构 3 和 4 来得高,部署维修高。
如果需要复杂的 webserver function,DNS 可能无法支援。可扩性稍差。
优点:
现在 DNS 可以降低成本和开发时间
因为全部的学生管理系统都在同一个业务服务器上,系统运维成本低。
因为 3 个人都会 Java,符合团队技术水平。
数据库有主备分,不会丢失全部数据
缺点:
如果需要复杂的 webserver function,DNS 可能无法支援。可扩性稍差。
优点:
现在 DNS 可以降低成本和开发时间
因为全部的学生管理系统都在同一个业务服务器上,系统运维成本低。
数据库有主备分,不会丢失全部数据
缺点:
如果需要复杂的 webserver function,DNS 可能无法支援。可扩性稍差。
因为只有 1 个人会 PHP,不符合团队技术水平。
(d)取舍
选择备选架构 3
合适原则:
1)成本最低
2)符合业务需求
3)符合团队技术水平
4)开发时间最快
5)系统运维成本低。
简单原则
1)不进行系统拆分,部署维护简单。
2)运用现有 DNS,无需重新搭建 NGIX,增加需要维护的系统。
演变原则
1)学生人数基本不会变化,系统可以用很多年
评论