架构师训练营第四周作业
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?
高可用
负载均衡与反向代理:将请求按一定算法转发给多台服务器,从而达到负载均衡的目的;常用负载均衡算法包括轮询、hash、随机、最少活跃连接等。
隔离:隔离是将系统或资源分隔开来,包括线程隔离、进程隔离、集群隔离、机房隔离、读写隔离、动静隔离、热点隔离等,隔离是为了在系统发生故障时,能限定故障的传播和影响范围;
限流:限流是通过对并发访问或请求进行限速来保护系统。常见的限流算法有令牌桶算法和漏桶算法,可分为接入层限流、分布式限流、应用层限流;
降级:降级主要是为了保证系统核心服务可用,即使是有损的。
高并发
缓存:目的是让访问速度更快;缓存可分为应用级缓存、http缓存、分布式缓存等。缓存核心指标是缓存命中率。
异步:异步主要是为了提升吞吐量;
队列:队列主要是用来进行异步处理、系统解耦、流量消峰、缓冲等;
扩容:提升系统负载能力。如:单体应用的垂直扩容、单体应用的水平扩容、应用拆分、数据酷拆分等。
池化:通过池化复用来减少系统消耗。如对象池、连接池、线程池等;
评论