架构设计的目的
架构设计的误区
架构重要,所以要做架构设计
每个系统都要做架构设计
公司流程要求系统开发过程中必须有架构设计
为了高性能、高可用、可扩展,所以要做架构设计
架构设计的真正目的
解决软件系统复杂度带来的问题
简单的复杂度分析案例
学生管理系统
- 功能:登录、注册、成绩管理、课程管理
- 系统架构设计,识别复杂度
- 性能:MySQL 足够数据库;Web 服务器用 Nginx
- 可扩展性:空间不大
- 高可用:宕机影响不大,不用考虑负载均衡,但需要存储高可靠,考虑多种异常:机器故障、机房故障。机器故障,设计 MySQL 同机房主备方案;机房故障,设计MySQL 跨机房同步方案。
- 安全性:隐私信息保护:Nginx 提供 ACL 控制、用户账号密码管理、数据库访问权限控制
- 成本:系统简单,需要的服务器不多,大学能 Cover
复杂度体现在存储可靠性上,保证异常场景,不要丢失所有数据。