软件架构的核心要素
软件架构:有关软件整体接口与组件的抽象描述,用于知道大型软件系统各个反面的测试
性能
性能优化
- 浏览器端:浏览器缓存、页面压缩、合理布局页面、减少cookie传输、CDN加速
- 应用服务器端:服务器缓存、分布式缓存、异步消息队列、集群
- 代码:使用多线程、改善内存管理
- 数据库服务器端:索引、缓存、sql优化
性能指标
响应时间、TPS、系统性能计数器。
可以通过监控指标分析系统瓶颈,预测网站容量,并对异常指标进行报警,保障系统可用可用性
主要手段:冗余伸缩性
伸缩性指通过不断向集群中加入服务器的手段来缓解不断上升的用户并发访问压力和不断增长的数据存储亲求主要指标
- 是否可以用太台服务器构建集群
- 是否容易向集群中添加新的服务器
- 加入新的服务器时候可以提供和原来的服务器无差别的服务
扩展性
手段:事件驱动架构和分布式服务 - 事件驱动架构:利用消息队列实现
- 分布式服务:将业务和可复用服务分离开来,通过分布式服务框架调用
安全性