三高系统常用的架构模式
总结一下三高(高性能、高并发、高可用)系统在架构时常见的模式及技术。
面向互联网的三高系统,最关注的软件质量属性是:性能、可用性、伸缩性、扩展性、安全性。
而构建此类系统,最常见的架构模式有:横向分层、纵向分割、分布式化、集群化、使用缓存、使用异步模式、使用冗余、自动化(发布、部署、监控)。
具体来说,可以在不同层次常用的技术有:
前端架构
浏览器优化技术:合理布局,页面缓存,减少http请求数,页面压缩,减少 cookie 传输。
CDN
DNS负载均衡
动静分离,静态资源独立部署
动态图片独立提供服务
反向代理
应用层架构
业务拆分
负载均衡
虚拟化服务器、容器化
无状态(以及分布式 Session)
分布式缓存
异步、事件驱动架构、消息队列
多线程
动态页面静态化
服务层架构
分布式微服务(分级管理,超时设置,异步调用,服务降级,幂等性设计。)
同应用层架构
存储层架构
DFS
关系数据库路由
No S QL 数据库
数据同步
数据冗余
安全架构
Web攻击(XSS、Sql Injection)
数据加密
密钥管理
发布、运维
自动化测试与发布
灰度发布
浏览器数据采集
服务器业务数据采集
服务器性能数据采集
系统监控
系统报警
机房
散热、省电、定制服务器
暂时就写这么多,以后想到了再加……