架构师训练营第四周作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
我从性能、可用性、伸缩性、扩展性和安全性5个方面进行描述。
高性能
前端优化:浏览器访问优化、CDN加速、反向代理
应用服务器性能优化:缓存、异步操作、集群
存储优化:读写分离、固态硬盘、RAID
高可用
应用高可用:负载均衡进行无状态服务的失效转移(Redis集群管理Session)
数据高可用:数据备份(主从复制)及失效转移
可伸缩
垂直伸缩:提升单一服务器的硬件性能
RAID增加IO吞吐量
SSD改善IO速度
增加内存减少IO操作
升级网口提高网络吞吐能力
更多处理器更多超线程
水平伸缩:增加服务器形成集群
第一阶段:应用和数据分离
第二阶段:使用缓存改善性能
第三阶段:应用服务器集群
第四阶段:读写分离
第五阶段:CDN和反向代理
第六阶段:分布式文件系统和数据库
第七阶段:NoSQL和搜索引擎
第八阶段:业务拆分
第九阶段:微服务及中台化
第十阶段:大数据和智能化
可扩展
服务化打造可服用的业务平台
分布式消息队列降低系统耦合
安全性
防攻击:XSS、SQL注入、CSRF
加密技术
评论