模块一作业
一、微信业务架构图
个人总结的微信业务架构图
二、
架构设计分析过程
1)复杂度分析
• 高性能
学生为 1000 人,对系统的性能要求不是很高。高性能不是重点考虑因素。
• 高可用
学生管理系统,对系统的高可用指标要求也不高。只要保证出现故障后及时恢复。
但需要保证数据不丢失或者尽量不丢失,需要有数据的备份设计。需要重点考虑。
• 可扩展
业务要求比较复杂,需要重点考虑
• 成本、安全
成本尽量采用开源框架降低成本。
学生系统的信息敏感性没有金融等行业或私密信息,所有这里的安全方面的复杂度也不是重点考虑因素
综上复杂度分析:
该系统需要重点考进行数据的高可用及业务复杂度两方面,同时也要兼顾成本。
2)技术选型
因为团队成员都会 java,虽然有一位成员是 php 开发高手,也需要考虑团队的整体技术栈掌握情况。所以开发语言采用 java,可以是 ssm(spring, springmvc, mybatis)
出于成本考虑,采用第三发开发组件为主。
技术选型结论:
• Java 技术路线,可采用 ssm(spring, springmvc,mybatis)开发框架;
• 采用开源组件,mysql,redis,nginx
2.架构图
1)架构一
2)架构二
选择方案二
因为方案一将系统划分为各个独立的子系统,那么系统之间共享数据的交互复杂度直接上升。增加了系统的复杂度。且方案二,也便于增加应用服务器进行负载均衡,提高可用性和性能。
评论