架构实战营模块一作业
1. 微信业务架构

微信分为多个模块,聊天功能,朋友圈,支付功能,基础管理和其他功能。
聊天功能
聊天功能包含文字聊天,语音聊天,视频聊天,表情包以及管理等
朋友圈
朋友圈包括发布朋友圈,点赞,以及访问权限
支付功能
支付功能包含扫码支付,钱包,收款,付款以及生活服务等
基础管理功能
管理好友和群组以及消息订阅
其他功能
附加功能,包括小程序和收藏文章及文件
2. 学生管理系统
学生管理系统包含学生管理,教师管理,权限管理,课程管理和选课几个模块。
2.1 方案一
分为人员管理子系统和课程管理子系统两个,因为有个人精通 PHP,可以单独承担一个子系统,另外两个熟悉 java 的选另一个子系统,可以选做不同的模块。数据库要求高可用,所以选主备。

2.2 方案二
与方案一相比,权限管理从人员管理子系统中分离出来作为一个单独的子系统,分工更明确。

2.3 方案三
模块分开但在一个系统中做,然后部署到不同的服务器。

2.4 选定方案一
理由如下:
方案一可以将 PHP 和 java 人员分开做不同的子系统,java 人员有两个,可以共同做一个子系统的不同模块,开发效率以及可维护性也不错。而且由于大家经济一般,快速开发出这个系统才是王道。
方案二比方案一多出一个子系统,增加维护复杂度。
方案三所有的模块放在一个系统中,java 和 php 人员无法共同协作。
评论