架构师训练营第四周作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
CDN:用于解决静态资源访问压力问题,并可以加快非服务器部署区域用户的访问速度;
服务器负载均衡:用于解决应用服务器并发访问压力,常用nginx或lvs实现;
动静分离:将静态资源存储到单独的服务器,减少应用服务器压力,可以使用阿里OSS等储存方案;
缓存:用于减少数据库读压力,加快用户访问速度,常用redis、memcached等;
数据库读写分离/主从复制:加强数据库并发能力,可使用1主多从结构,加强数据库读并发能力;
非关系型数据库:非关系型数据库抗写压力的能力很强,可解决高并发的写问题,还可以用mongoDB等分布式数据库解决单表数据量太大的问题;
消息队列:可解决部分高并发场景下写压力,通过消息队列削峰填谷;也可以用于多系统间调用的解耦,使系统间不需要强依赖;还可用于日志记录等非主线业务通知;
微服务:将服务拆分,独立项目和数据库,使服务间耦合降低,提高可维护性和代码重用性;
搜索引擎:将海量数据放入ES等搜索引擎中进行查询,加快查询速度,降低数据库压力。
评论