模块 1 作业
一、微信业务架构图
本人对于微信业务架构理解:
二、学生管理系统架构设计
要求:
可用通过公网域名访问
至少 3 人合作完成
能够支撑 1000 个学生访问
要求涉及方案不能太简单,也不能太复杂
前提条件:
大家都会 java,其中有一个是 php 高手
大家经济条件一般
设计思路:
首先排除使用 php 开发这套系统,因为三人小团队中只有一个人会 php,哪怕他是高手。大家都会 java 所以选择 java 开发这套系统
因为要求能通过公网域名访问这套系统,所以这套系统得部署在云上(阿里云或者腾讯云)
要求能支持 1000 个学生的使用,所以并发量并不是很高。并且大家经济条件一般,所以服务器的配置不需要太高(服务器配置选 2 核 4G 即可)
方案 1:单体应用多节点部署
优点:开发部署比较方便,当服务器性能瓶颈时水平扩展也比较容易
缺点:各个模块的业务代码耦合在一起,将来扩展可能比较麻烦
方案 2:微服务应用多节点部署
优点:业务解耦,一个业务单元对应服务,业务扩展比较容易
缺点:开发相对麻烦,运维部署也比较麻烦
方案抉择:
方案 1 和方案 2 的区别在于使用单体应用架构还是微服务架构去开发,考虑到整个系统模块不是很多,业务逻辑不是很复杂,并且系统的并发量也不高,所以初期选择方案 1 比较合适。等将来业务量上来的时候在考虑使用微服务拆分升级该系统。
版权声明: 本文为 InfoQ 作者【miliving】的原创文章。
原文链接:【http://xie.infoq.cn/article/394cdc9f94a2bf02a4e7a11ac】。未经作者许可,禁止转载。
评论