亿级流量网站架构核心技术-第二部分 高可用

本文探讨了负载均衡技术,包括LVS+Nginx组合优势及多种算法如轮询、权重分配、IP哈希等。同时,深入解析了线程、进程、读写和热点隔离策略,以及Hystrix在隔离中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2.负载均衡与反向代理

 

为什么用同时使用LVS+Nginx:

但是仅仅使用lvs作为负载均衡的话,一旦后端接受到请求的服务器出了问题,那么这次请求就失败了。但是如果在lvs的后端在添加一层nginx(多个),每个nginx后端再有几台应用服务器,那么结合两者的优势,既能避免单nginx的流量集中瓶颈,又能避免单lvs时一锤子买卖的问题

可以查看https://blog.youkuaiyun.com/BuquTianya/article/details/52076153

负载均衡算法

 1、轮询(默认)

        每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。

    2、weight(轮询权值)

        weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。或者仅仅为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。

    3、ip_hash

        每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的session共享问题。

    4、fair

        比 weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器的响应时间 来分配请求,响应时间短的优先分配。Nginx本身不支持fair,如果需要这种调度算法,则必须安装upstream_fair模块。

    5、url_hash

        按访问的URL的哈希结果来分配请求,使每个URL定向到一台后端服务器,可以进一步提高后端缓存服务器的效率。Nginx本身不支持url_hash,如果需要这种调度算法,则必须安装Nginx的hash软件包。

详情查看https://www.cnblogs.com/lvgg/p/6140584.html

 

3 隔离术

     3.1 线程隔离

线程隔离主要有线程池隔离,在实际使用时我们会把请求分类,然后交给不同的线程池处理,当一种业务的请求处理发生问题时,不会将故障扩散到其他线程池,从而保证其他服务可用

3.2进程隔离

3.5读写隔离

3.8热点隔离

3.10 使用Hystrix实现隔离 

4 限流详解 

4.1限流算法

   令牌桶算法和漏桶算法

4.2.2限流总资源数

  线程池,数据库连接池

 4.2.3限制某个接口的总并发数

4.2.5平滑限流某个接口的请求数

    使用GUAVA RateLimiter提供的令牌桶算法

4.3分布式限流

 Redis+Lua

 Nginx+lug

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值