架构师训练营第 1 期第 4 周作业
问题:一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
解:不同的大型互联网应用系统因为业务场景不同,所使用技术方案和手段会有所不同,也不可能一一描述
说明,下面仅列举一些常用的技术方案和手段以及所解决的问题:
技术方案:应用集群部署
技术手段:使用nginx反向代理代理http服务、使用Haproxy做代理代理TCP服务等负载均衡中间件。
解决问题: 解决了应用高并发,高流量访问,也可以解决应用高可用的问题。
技术方案:应用分层架构模式
技术手段:举例: java web应用使用spring mvc框架开发应用。
解决问题: 将系统在横向维度上切分成几个部分,每个部分负责一部分相对比较单一的职责,然后通过
上层对下层依赖和调用组成一个完整的系统。
技术方案:使用缓存
技术手段:应用使用本地缓存、反向代理、CDN、第三方缓存中间件等缓存技术
解决问题: 将数据存放在距离计算最近的位置以加快处理速度以改善软件性能。
技术方案:使用异步
技术手段:应用实现异步处理、第三方消息队列中间件技术
解决问题: 为了提高系统可用性,加快网站响应速度,消除并发访问高峰。
技术方案:使用冗余
技术手段:计算型服务器冗余部署,数据存储型服务器冗余备份
解决问题: 保证互联网应用需要7×24小时连续运行,实现系统高可用。
技术方案:使用分布式
技术手段:分布式应用和服务、分布式静态资源、分布式数据和存储、分布式计算等。
解决问题:分布式意味着解决同样的问题可以使用更多的计算机,计算机越多,CPU、内存、存储资源
也就越多,能够处理的并发访问和数据量就越大。
评论