week4. 课后作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
手段
1.数据备份、机器冗余[集群] 保证服务高可用
2.垂直伸缩,用更好的服务器来缓解请求压力,是一种最快的解决方案,贵,有物理极限。水平伸缩,用廉价的服务器组合起来,用更多的服务器缓解请求压力,便宜,慢,软件架构需要调整,没有物理极限。
3.加密、敏感信息过滤 保护用户数据安全
4.业务分层 运维、后端开发、前端开发分开不同层,工作互不影响,提高开发速度
5.快速变更、频繁发布 快速验证功能是否正确
6.服务器集群提高并发处理能力
7.LVS负载均衡 增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性
8.Squid反向代理[可缓存静态资源] 提高了内部服务器的安全
9.图片服务器、CDN加速、动静分离 减少带宽、流量
技术方案
1.NoSQL、搜索引擎 应对数据量大、无事务场景下搜索问题
2.微服务、分布式消息队列 使服务高内聚、低耦合、可以互相独立升级、加快开发速度
3.分布式缓存技术 应对读多写少场景,降低对数据库的压力
4.大数据平台、搜索引擎、推荐引擎、数据仓库 从数据中获取信息,做更好的决策
5.冷热数据分离 加速数据查找
6.GeoDNS[地理DNS服务器] 找到离用户最近的服务器提供更快的服务
7.自动化运维 服务故障自动重启,减少人工介入,提高服务可用性
8.异步[可使用消息队列] 提示响应速度,提高用户体验
9.分布式 便于部署、功能变更
10.更换开发语言,如php换Java 解决语言问题带来的障碍
11.动态页面静态化 加速访问速度
12.数据库读写分离 确保数据库产品的稳定性
版权声明: 本文为 InfoQ 作者【个人练习生niki】的原创文章。
原文链接:【http://xie.infoq.cn/article/458426c19396b2fd19abad0a7】。文章转载请联系作者。
评论