微信业务架构图与“学生管理系统”毕设架构设计
一、微信业务架构图
1.1 分析说明
分析思路:
核心功能:重点分析了“用户”、“聊天”、“朋友圈”功能。
微信应用:在此基础上,扩展到“发现”相关应用功能。
基础设施:业务的基础设施功能,重点是“支付”,其次是账号、设置。
“推荐”:根据采集的用户信息进行个性化推荐,属于隐藏功能。
分析方法:
调研微信手机客户端的功能细节入口,整理出思维导图。
结合汇报的对象,P10 的领导。从业务角度进行提炼重点。
输出:
采用自顶向下业务模块拆解,采用业务架构图方式逐个级别拆解。
通过不同背景色标识:顶层模块,子系统,二级子系统。
1.2 微信业务架构图分析
二、“学生管理系统”毕设架构设计
2.1 需求分析
2.2 判断复杂度
2.3 架构设计三原则
三原则对设计决策的影响:
从简单、合适原则出发:3 个同学,考虑使用现有框架进行开发
从合适原则出发:架构需要考虑数据备份,由于基于互联网提供服务,需要考虑一定的安全性
从演化原则出发:基于选择的技术框架提供业务的可扩展性
2.4 架构设计思路
挑选主流微服务框架,快速开发
基于微服务提供业务扩展性
采用 Spring Cloud 实现后端,基于 Spring Cloud Security 提供安全
采用 ThinkPHP 作为管理后台与前端
采用 MySQL 主备提供数据可用性
2.5 备选架构一
2.6 备选架构二
2.7 最终方案及选择理由
最终方案:备选方案二
选择理由:
从合适原则出发:PHP 高手负责前端与后台,挑选 PHP 框架;其他两位会 Java 同学完成后端开发
从合适原则出发:利用学生优惠,按答辩时间购买合适的 ECS 与云数据库 RDS,降低成本
从合适、简单原则出发:将 Nginx 与微服务在同一台 ECS 上搭建(使用套餐提供的弹性 DNS 服务),提供公网服务
从合适原则出发:通过 Docker 方式部署多个微服务
从演化原则出发:云数据库服务可做升级与扩容,微服务镜像可做业务扩展与配置升级(迁移到独立服务器)
版权声明: 本文为 InfoQ 作者【唐尤华】的原创文章。
原文链接:【http://xie.infoq.cn/article/8f56b28c311f427daae64bebe】。文章转载请联系作者。
评论