【架构实战营作业】模块一:微信业务架构图 & 学生管理系统
作业一:微信业务架构图
作业二:学生管理系统架构图
复杂度思考:
① 成本 ----- 大家经济实力不好,尽量使用免费产品
② 性能 ----- 1000 个学生,学生侧的访问压力会相对教师侧的大一些,可以重点考虑,但整体量级不大
③ 可用性 ------ 保证数据不完全丢失即可,服务短期不可用可以接受
④ 技术能力体现 ----- 不能过于简单,需要能够体现团队整体的技术能力和个人能力
优点:
① 全部免费,使用学生宿舍的网络与电脑运行整套系统,没有域名、机器、存储等开销
② 职责划分比较清晰,适合每个人负责一个独立应用,利于明确分工以及毕设答辩清晰表现个人能力
③ 建议统一使用 java 技术栈,考虑维护成本方便,但如果特别想体现 PHP 能力,可以在某个应用中使用
④ 考虑学生侧可能出现在报名、选课、查分等场景下有较大的访问和数据读取压力,学生访问服务增加一个节点
⑤ 数据库通过主备保障数据不会因单节点损坏而彻底丢失,通过 redis 作为加速访问层降低数据库在特殊时段的压力
缺点:
① 数据服务将多个域的数据层访问集中在了一起,可能导致单点问题,但以当前业务复杂度和量级可以接受
② 前后端不分离,但考虑团队同学的前端技术能力,可以不考虑拆分
版权声明: 本文为 InfoQ 作者【聆息】的原创文章。
原文链接:【http://xie.infoq.cn/article/fc19bc43e3a129f49b0173153】。未经作者许可,禁止转载。
评论