架构实战营 - 模块 1- 微信业务架构 - 学生系统架构备选方案
微信业务架构
微信业务分为三大块:基础业务、个人业务、企业业务。其中基础业务提供了微信公共的基础服务,可被个人业务、企业业务复用,比如扫码、拍照、文件、消息、标签、支付等。个人业务:聚焦个人社交业务,以用户为中心的社交服务,包括好友业务、群业务、朋友圈业务、直播视频业务、生活业务等。企业业务:聚焦企业级业务,为基于微信平台提供企业宣传、业务办理、企业服务能力提供,包括公众号、小程序、企业微信等。
“学生管理系统”-毕业架构设计
一、需求描述:
二、复杂度分析(架构三原则分析)
(一)、合适原则:
1.采用租用云服务器方式,考虑如下:系统要求通过公网域名访问,同时系统目的是为了毕业设计,生命周期比较短,加上学生经济能力有限,可以按需租用服务器。
2.项目团队 3 个成员,为了便于分工协作,以及管控系统的复杂度,不对系统拆分,采用单体应用。
(二)、简单原则:
1.该系统的用户量为 1000+用户,初步定位是学校内部使用,对系统的可用性、高性能、可扩展性要求都不高。
(三)、演化原则:
1.应用具备可伸缩性,应用要求无状态,可以在开学季毕业季时,根据流量需要,临时添加硬件资源,增加应用节点。
三、备选方案
共提供四套备选方案:
方案一:DNS+单体应用+单数据库
方案二:DNS+Nginx+单体应用+单数据库
方案三:DNS+单体应用+数据库(主从)
方案四:DNS+Nginx+单体应用+Redis+数据库(主从)
综合考虑系统的复杂度,以及架构三原则,选择“方案二”,兼顾了成本和系统的伸缩性。
1.应用可伸缩,应用是无状态的,可以在开学季毕业季期间,临时添加硬件资源,增加应用节点。平时可以保持低配置运行。
2.成本适中,部署难度适中。
评论