#####架构要素 ######1. 性能
评价指标:
- 响应时间
- TPS (1) 系统吞吐量(TPS每秒事物数、HPS每秒HTTP请求数、QPS每秒查询数) (2) 并发处理能力 (3) 性能计数器(SystemLoad、对象与线程数、内存使用、CPU使用、磁盘与网络I/O) (4) 系统稳定性
测试方法: 性能测试 压力测试 稳定性测试
性能优化策略: 1.性能分析 2.性能优化
- 前端性能优化(浏览器访问优化、CDN加速、反向代理)
- 应用服务器性能优化(分布式缓存、异步操作、使用集群、代码优化)
- 存储性能优化(使用固态硬盘、LSM树、HDFS)
######2. 可用性
评价指标:
- 网站的总可用时间
保障措施:
- 运行环境冗余
- 预发布验证
- 自动化测试
- 自动化发布
- 灰度发布
######3. 伸缩性
是否可用多台服务器构成集群,是否容易向集群中添加新的服务器。 缓存服务器集群,加入新的服务器可能会导致缓存路由失效,进而导致急群众大部分缓存数据都无法访问。 关系型数据库的集群伸缩方案必须在数据库之外实现,通过路由分区等手段将部署有多个数据库的服务器组成一个集群。 ######4. 扩展性
新增加业务产品时,是否可以实现对现有产品透明无影响,不需要改动或很少改动既有业务功能就可以上线新产品。 实现手段:
- 事件驱动架构:消息队列
- 分布式服务:将业务和可复用服务分离开来,通过分布式服务框架调用,新增产品调用可复用的服务来实现自身业务逻辑,可复用服务升级时,可提供多版本服务对应用实现透明升级。
######5. 安全性
#####架构模式
- 分层
- 分割
- 分布式
- 集群
- 缓存
- 异步
- 冗余
- 自动化
- 安全