写点什么

笔记 2022-12-06

作者:mklop
  • 2022-12-06
    上海
  • 本文字数:1219 字

    阅读完需:约 4 分钟

微信业务功能架构

如下图所示


架构设计

架构方案一

单节点-单层-多服务-本地内网穿透

方案一说明

  1. "能够支撑管理 1000 个学生",4 个核心模块左右。按性能能估算,开发测试用的普通机器能够直接承担业务量。整体的技术复杂度和业务复杂度都低。符合合适原则为主,符合演化原则

  2. "大家都会 Java, 但是有一个是 PHP 高手" & "要求至少 3 人合作完成",前端展示可直接使用 php 开发,部分业务实现功能也可以使用 php 开发,直接入库。其余模块功能直接开发 java 单机服务,无需引入微服务等复杂功能。符合简单原则,但不符合合适原则

  3. "今年学校毕业设计要求提升,要求做真正可运行的学生管理系统",考虑到为毕业设计级别的项目,理论上无需考虑复杂的扩展性,符合演化原则,但不符合合适原则

  4. "要求可以通过公网域名访问", 需要使用 dns 服务,目前国内外均有不少免费的 dns 服务,或者可通过免费二级域名进行直接使用,满足合适原则。

  5. "答辩的时候会根据架构方家来进行打分,不推荐太简单和太复杂的方案",防止过于简单还是,拆分了两个 nginx 服务,一个 nginx 服务处理 web 页面,一个 nginx 反向代理 java 服务,供 php 主体服务使用,内部需要处理跨域等,符合合适原则不符合简单原则

  6. "大家经济条件一般",此处采用内网穿透临时方案,本机运行模拟测试,减少购买至少一个月的云主机量,仅使用最低配云主机,做公网转发。如果学院可提供公网地址,此步骤可省略,符合合适原则、简单原则不符合演化原则

架构方案二

多节点-多层-多服务-云主机

方案二说明

  1. "能够支撑管理 1000 个学生",考虑到学校总人数虽然可能只有这么多,但是每年会不断有新生加入和学生毕业、长期运行下各种数据总量会不断上升,增加云数据上的主从实现读写分离,同时定期备份从库数据到冷数据。部分数据符合合适原则为主不符合演化原则不符合简单原则

  2. "大家都会 Java, 但是有一个是 PHP 高手" & "要求至少 3 人合作完成",前端展示直接使用 php 开发,前后端分离,前端部分单独部署。其余模块功能直接开发 java 集群服务,4 个核心模块左右,逻辑不复杂,暂时无需引入微服务等复杂功能。符合合适原则,但不符合简单原则

  3. "今年学校毕业设计要求提升,要求做真正可运行的学生管理系统",全部服务上云主机,可直接公网访问,集群部分可增加减少主机以满足性能要求,符合演化原则,但不符合简单原则

  4. "要求可以通过公网域名访问", 需要使用 dns 服务,目前国内外均有不少免费的 dns 服务,或者可通过免费二级域名进行直接使用,满足合适原则。加上全部上云后,可直接使用云主机厂商对应服务。不符合简单原则

  5. ‍"答辩的时候会根据架构方家来进行打分,不推荐太简单和太复杂的方案",拆分了一个 nginx 服务处理 web 页面,多个 java 服务集群,供 php 前端使用,内部需要处理跨域等,符合合适原则不符合简单原则不符合演化原则

  6. ‍"大家经济条件一般",此处采用完整的线上云主机部署模式,费用增加陡升,部署难度增加,不和符合合适原则、简单原则符合演化原则

发布于: 刚刚阅读数: 4
用户头像

mklop

关注

还未添加个人签名 2022-06-11 加入

还未添加个人简介

评论

发布
暂无评论
笔记2022-12-06_学习笔记_mklop_InfoQ写作社区