写点什么

架构实战营第一期 -- 模块一作业

用户头像
clay
关注
发布于: 17 小时前

1. 画出微信的业务架构图



2. “学生管理系统”毕设架构设计

假设今年学校毕业设计要求提升,要求做真正可运行的学生管理系统,学院对毕设的具体要求如下:

①要求可以通过公网域名访问;

②要求至少 3 人合作完成;

③能够支撑管理 1000 个学生;

④答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案。


你找了 2 个好朋友一起来做这个项目,你们的基本情况如下:

① 大家都会 Java,但是有一个是 PHP 高手;

② 大家经济条件一般。


  • 方案一

描述:http 服务器,java 程序,mysql 数据库部署在一台机器上。

优点:成本低,维护简单,部署方便。符合简单原则,日后有需求可以再购买服务器进行部署,符合演进原则。

缺点:可用性低。程序之间相互影响的概率大。数据不安全。不符合适用原则。

  • 方案二

描述:web 服务器和 mysql 服务器分开部署。

优点:成本低,维护简单,部署方便。符合简单原则,日后有需求可以再购买服务器进行部署,符合演进原则。

缺点:可用性低。web 程序不会影响到数据库服务器。但是数据不安全,一旦 mysql 服务器出现硬盘损坏等故障,就会造成数据丢失。不符合适用原则。

  • 方案三

描述:web 服务器和 mysql 服务器分开部署,并增加一个 mysql 从库,采用主从同步。

优点:维护简单,部署方便,数据安全。web 服务器挂掉,无法访问,但是数据不丢失,满足了最基本的需求,符合适用原则,符合简单原则,日后有需求可以再购买服务器进行部署,符合演进原则。

缺点:可用性低,一旦 web 服务器故障,就无法访问。需要额外负担一台从数据库的成本。

  • 方案四

描述:前端用 nginx 服务器,部署两台 web 服务器和主从 mysql 数据库。

优点:维护相对复杂,数据安全,可用性高。其中一台 web 服务器挂掉,仍可访问另一台 web 服务器,同时单个 mysql 服务器故障,有备份数据,可以保证不丢失或丢失少量数据,符合适用原则。符合简单原则,但比方案三复杂。日后有需求可以再购买服务器进行部署,符合演进原则。

缺点:成本高,需要支付五台服务器的成本。


  • 结论

综上所述,选择符合适用性,简单性和演进性的方案三。

发布于: 17 小时前阅读数: 11
用户头像

clay

关注

还未添加个人签名 2018.09.18 加入

还未添加个人简介

评论

发布
暂无评论
架构实战营第一期--模块一作业