阿里架构师浅析负载均衡:怎样提升系统的横向扩展能力?

本文深入探讨了如何通过负载均衡提升系统的横向扩展能力,讲解了负载均衡服务器的种类,如代理类负载均衡服务(LVS、Nginx)和客户端负载均衡服务在微服务架构中的应用。文章还介绍了常见的负载均衡策略,包括轮询和带有权重的轮询,以及动态策略如LeastActive和eightedResponseTimeRule。此外,文中还阐述了如何检测节点故障,利用nginx_upstream_check_module确保服务健康。负载均衡在高并发系统设计中扮演重要角色,是后端开发人员必须了解的技术之一。
摘要由CSDN通过智能技术生成

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等

之前曾写过高并发系统设计的三个通用方法:缓存、异步和横向扩展,到目前为止,你接触到了缓存的使用姿势,也了解了,如何使用消息队列异步处理业务逻辑,那么本文将带你了解一下,如何提升系统的横向扩展能力。

在之前的文章中就曾提到过提升系统横向扩展能力的一些案例。比如,可以通过部署多个从库的方式,来提升数据库的扩展能力,从而提升数据库的查询性能,那么就需要借助组件,将查询数据库的请求,按照一些既定的策略分配到多个从库上,这是负载均衡服务器所起的作用,而我们一般使用 DNS 服务器来承担这个角色。

不过在实际的工作中,你经常使用的负载均衡的组件应该算是 Nginx,它的作用是承接前端的 HTTP 请求,然后将它们按照多种策略,分发给后端的多个业务服务器上。这样,我们可以随时通过扩容业务服务器的方式,来抵挡突发的流量高峰。与 DNS 不同的是,Nginx 可以在域名和请求 URL 地址的层面做更细致的流量分配,也提供更复杂的负载均衡策略。

你可能会想到,在微服务架构中,我们也会启动多个服务节点,来承接从用户端到应用服务器的请求,自然会需要一个负载均衡服务器,作为流量的入口,实现流量的分发。那么在微服务架构中,如何使用负载均衡服务器呢?

在回答这些问题之前,我先带你了解一下,常见的负载均衡服务器都有哪几类,因为这样,你就可以依据不同类型负载均衡服务器的特点做选择了。

负载均衡服务器的种类

负载均衡的含义是:将负载(访问的请求)“均衡”地分配到多个处理节点上。这样可以减少单个处理节点的请求量,提升整体系统的性能。

同时,负载均衡服务器作为流量入口,可以对请求方屏蔽服务节点的部署细节,实现对于业务方无感知的扩容。它就像交通警察,不断地疏散交通,将汽车引入合适的道路上。

而在我看来,负载均衡服务大体上可以分为两大类:一类是代理类的负载均衡服务;另一类是客户端负载均衡服务。

代理类的负载均衡服务,以单独的服务方式部署,所有的请求都要先经过负载均衡服务,在负载均衡服务中,选出一个合适的服务节点后,再由负载均衡服务,调用这个服务节点来实现流量的分发。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值