架构实战 - 模块一
一:微信业务架构图
根据微信了解,根据微信的功能性终端和用户群体,推出系统背后的业务功能模块。
二:学生管理系统架构设计
根据需求分析,得到几个重点:支撑管理 1000 个学生;公网域名可访问;研发团队 3 人;技术工种:3 个 java 开发,其中 1 个 PHP 高手(可兼做前端开发);经济条件一般。
总结下来架构设计思路:
高性能角度:学生 1000 个,数据量很小,不必太追求;
高可用角度:必须数据存储高可用;避免数据丢失;管理系统应用服务高可用追求一般
可扩展角度:功能模块划分比较简单,耦合度问题不大,应用可采用单体架构
安全角度:由于公网域名访问,要考虑流量攻击,需要考虑高防 CDN 对抗 DDOS 攻击;应用层面做好权限控制。
成本角度:服务器节点越少越好;或者系统上云可灵活缩减成本
备选方案 1
方案优点:成本低;数据存储高可用;CDN 做高防,对抗 DDOS 攻击
缺点:应用服务单节点,未采用高可用策略;管理系统业务扩展性一般
备选方案 2
方案优点:整体高可用;Nginx 或 CDN 都做高防,对抗 DDOS 攻击
缺点:管理系统业务扩展性一般
备选方案 3
方案优点:整体高可用;顾及系统,业务可扩展
缺点:成本较高,技术实现相对复杂
综合评估:架构复杂度相对不过于简单不过与复杂,个人采纳方案 2。
评论