模块1作业 业务架构图 备选方案

2021-04-06  本文已影响0人  浩哥有料

作业一:画出微信的业务架构图

微信业务架构图

本图将微信的基本业务功能分为四层:

作业二:“学生管理系统”毕设架构设计

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

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

作业要求:

复杂度分析

需求要求系统可以真正运行、对外提供访问能力,因此需要满足一定的可用性,虽然学生管理系统对高可用的要求不是太高,但也不能长时间或频繁发生故障,系统的操作体验应当直观、流畅,业务流畅完整。支撑管理1000个用户这样的量级通常单机性能就足以支撑,但在数据安全性方面必须提供至少一台备机。项目成员经济条件有限,因此不能使用太复杂、成本太高的方案,且无须考虑持久扩展演进。

备选方案一

备选方案一

本方案使用Nginx服务器进行负载均衡,后端搭配两台业务服务器实现高可用。文件服务器和数据库服务器均使用一主一备模式,读写操作均访问主服务器,备服务器仅作为数据备份使用。

优点:部署简单,访问稳定。
缺点:需要较多的服务器资源。

备选方案二

备选方案二

本方案使用了DNS服务器进行负载均衡,后端使用两台Docker服务器,业务服务和数据库服务均以docker容器形式运行,文件服务器为所有的容器提供数据持久化支持。

优点:DNS资源相比Nginx服务器更容易获得,也更容易配置,成本也更低,容器化的服务确保了服务的快速迁移和恢复。
缺点:需要对Docker有一定的了解,Docker容器在性能上不如独立的物理服务器。

备选方案三

备选方案三

本方案使用全云端服务,借助云服务商提供的各类服务来完成基础设施的搭建。

优点:成本低,可扩展,无需担心高性能、高可用问题。
缺点:迁移困难,需要按照云服务模式进行部署。

方案对比

上述三种方案分别代表了传统部署方式、容器化部署方式和全云端部署方式,第一种方案需要的机器较多,存在性能过剩、资源浪费、成本较高的问题,第三种方案虽然成本低、可靠性和可用性高,但由于完全依赖云服务商提供的云端基础设施,使得整个架构难以迁移,只能持续租用资源,而很难利用学校已有的资源。综上,方案二是相对折中合理的方案,既减少了机器资源的消耗,又能够保障数据的安全,其性能也足以支撑当前的访问量。另外,考虑到毕业设计要求至少3人合作完成,因此选择Java作为后端开发语言。

上一篇 下一篇

猜你喜欢

热点阅读