架构师训练营第四周作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?
1、CDN:在离用户近的各局点设置“缓存服务器”,缓存大部分静态数据,这样既降低了应用服务器的压力,又能够使得用户请求得到快速响应。
2、反向代理:如果CDN服务器没有缓存用户所需要的数据,则流量会进一步的到达反向代理服务器,如果反向代理服务器已经缓存了数据,则会直接返回给CDN服务器,进一步减轻应用服务器的压力。
3、负载均衡:将请求均匀分发到应用服务器集群中应用服务器,以提高应用承载能力。
4、消息队列:通过异步处理提高系统性能(削峰、减少响应所需时间);降低系统耦合性。
5、NoSQL:事务性数据并且数据量较大的数据可以采用NoSQL的方式,提高应用运行速度。
6、搜索引擎:将数据库数据构建到搜索引擎中,可以进行数据的快速查找。
7、应用服务器集群:改善系统的并发处理能力。
8、业务拆分:将不同的业务拆分成不同的系统,提高单个小系统的开发维护能力。
9、分布式:对通过分层和分割之后形成的不同模块部署在不同的服务器上,通过远程调用协同工作。通过增加CPU、内存、存储资源等实现应用并发访问和数据量处理的能力的提升。
分布式缓存:通过缓存减少应用从数据库直接读取数据,提高访问速度,降低数据库运行压力,提高系统性能,从而支撑更多的并发用户使用应用。
分布式数据库:业务量巨大的时候,传统的读写分离由于一主多从的特点,无法满足巨大的写入量的需求,因此引入分布式数据库,将一张表拆分到多台机器上,达到高并发写的需求。
分布式文件系统:满足应用的各项存储需求。
10、异步:将一个业务操作分成多个阶段,各个阶段之间通过共享数据进行协作,提高系统可用性、加快响应速度、消除并发访问高峰。
11、冗余:确保出现服务器宕机的情况下仍然可以继续提供服务,数据不丢失。
12、自动化运维。
13、提高系统安全防护能力。
评论