架构图 - 微信 & 学生管理系统
WeChat 的业务架构图
这里仅讨论个人微信,不包括企业微信
学生管理系统”毕业架构设计
复杂度分析
高性能:1000 个学生,优先级中
高可用:仅给 1 所学校用,系统要求低;数据存储要高可用,存储至少要有主备 2 机;优先级高
可扩展:目前业务迭代需求少,优先级
其他:人手少,经济条件一般——要遵循“简单原则”,易于维护、debug。
技术栈选择
I:PHP 前端+Java 后端+Java 客户端
II:Java 前/后/客户端
系统设计选择
方案一
优点:两台服务器用同一套管理系统,可保证高可用(挂了一台服务器另一个还可以继续用)
缺点:学生只有 1000 人,高可用需求未必那么大
方案二
优点:服务隔离,一个子系统服务挂了后不会影响另一个子系统服务
缺点:服务器之间存在通讯成本
最终选择
技术栈:选 II。虽然 I 发挥了团队各人的技术专长,但从小团队维护成本上来看,一个中小型系统用 Java 全栈更适合。
架构:选方案一,更符合简单原则——不用进行系统拆分,部署维护更简单,运维成本低。
版权声明: 本文为 InfoQ 作者【Ntropy】的原创文章。
原文链接:【http://xie.infoq.cn/article/32cb0c0c1e7d0a681e6fd188b】。文章转载请联系作者。
评论