美文网首页
模块1作业 业务架构图 备选方案

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

作者: 浩哥有料 | 来源:发表于2021-04-06 23:32 被阅读0次

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

    微信业务架构图

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

    • 最底层为最基础的功能,这些功能会在多种业务场景下被复用,也是其他业务实现的必要前提。
    • 第二层中支付业务占比较重,相比于微信的社交业务而言,支付业务相对独立,同时为社交业务提供支付方面的功能支持。同时,微信的社交是熟人社交,因此通讯录业务也是上层社交业务的基本支撑。
    • 第三层是微信最核心的社交业务层,包含聊天业务和朋友圈业务的各种功能。
    • 第四层是微信基于其用户管理、社交和信息分发能力所提供的开放平台,以及更多元化的信息发布形态。

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

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

    • 要求可以通过公网域名访问;
    • 要求至少 3 人合作完成;
    • 能够支撑管理 1000 个学生;
    • 答辩的时候会根据架构方案来进行打分,不推荐太简单和太复杂的方案

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

    • 大家都会 Java,但是有一个是 PHP 高手
    • 大家经济条件一般

    作业要求:

    • 对照面向复杂度架构设计方法论,构思 2 个以上的备选架构方案。
    • 使用 PPT 来画出你的备选架构方案,并说明方案的优缺点。
    • 给出你选择的最终方案以及选择理由。

    复杂度分析

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

    备选方案一

    备选方案一

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

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

    备选方案二

    备选方案二

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

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

    备选方案三

    备选方案三

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

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

    方案对比

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

    相关文章

      网友评论

          本文标题:模块1作业 业务架构图 备选方案

          本文链接:https://www.haomeiwen.com/subject/urzekltx.html