26 | 负载均衡:怎样提升系统的横向扩展能力?
该思维导图由 AI 生成,仅供参考
- 深入了解
- 翻译
- 解释
- 总结
本文介绍了负载均衡的基本概念和常见类型,以及在不同架构中的应用场景和选择策略。文章首先介绍了代理类和客户端负载均衡服务两大类别,分别以LVS和Nginx为代表,解释了它们在流量分发和性能方面的特点。针对微服务架构,文章提出了客户端负载均衡服务的应用,结合注册中心提供的服务节点列表,实现了更灵活的节点选择策略。此外,文章还建议在普通Web服务中,根据QPS量级选择合适的负载均衡方案,减少系统维护成本。总的来说,本文通过介绍负载均衡的种类和应用场景,为读者提供了系统横向扩展能力的重要知识,为实际工作中的负载均衡服务配置提供了指导和建议。 文章还介绍了常见的负载均衡策略,包括静态策略和动态策略,以及如何检测节点是否故障。静态策略中,轮询和带有权重的轮询策略被强调,而动态策略则优先考虑使用动态的策略。此外,文章还详细介绍了Nginx如何检测节点是否故障的方法,以及服务节点的启动和关闭标准姿势。 总的来说,本文内容涵盖了负载均衡的基本概念、常见类型、应用场景、选择策略以及节点故障检测等方面,为读者提供了全面的负载均衡知识和实际应用技巧。
《高并发系统设计 40 问》,新⼈⾸单¥59
全部留言(37)
- 最新
- 精选
- 面试官问是否使用客户端负载均衡,跟微服务框架中服务之间通信是使用 RPC 协议还是 HTTP 协议无关,例如Spring Cloud 中的 Ribbon 就是用来进行客户端负载均衡的;一般来说,在系统接入层,使用的是服务端负载均衡,而微服务之间的内部调用,使用的是客户端负载均衡。
作者回复: 是的
2019-11-2240 - 虚竹老师最后说的nginx启停服务时切流量部分,在刚刚启动时返回500,完全初始化后返回200,是指health_check接口返回的状态码是通过配置中心配置获取的,重启之前改为500,看实例日志全完启动成功之后再改为200?
作者回复: 是的
2020-03-25316 - jc9090kkk感谢老师分享,这一刻看完有一个疑问,对于负载均衡的一些策略都清楚了,但是对于负载均衡器的承载容量有点疑问,比如说通过nginx来作为负载均衡器,但是它本身的承载容量是有极限的,如果当前nginx的转发容量只能支撑10w/s的访问请求,但是流量如果达到20w/s,那么nginx作为负载均衡器来讲,是否需要增加新的负载均衡器一起协调工作,那么同时存在两个负载均衡器的话,工作于它上一层的任务由谁来处理呢?lvs?还是dns?或者是其他?负载均衡器不可能没有极限吧?
作者回复: 是LVS,LVS的承载能力要大很多
2020-01-16512 - sdjdd关闭服务之前,用 503 状态码响应健康检查是不是语义更明确一些。
作者回复: 是的,我的意思是这样的
2019-11-228 - 古德以前用阿里云的时候,我们的架构是使用阿里云的SLB,直接转发到微服务网关zuul上,再根据url去分发到对应服务。
作者回复: 也可以,zuul作为7层负载
2020-01-066 - M请教下老师,app与服务器之间使用websocket协议连接,如何使用负载均衡呢?
作者回复: nginx可以支持websocket协议的
2019-11-2236 - 如歌刷第二遍了 从操作系统到网络到这本书
作者回复: 加油💪
2020-03-2823 - い北风老师,我在之前的面试遇到过一个问题。知道已有功能,如何选取服务器。去购买服务器的配置呢?
作者回复: 我想面试官想了解的是 你是否可以根据业务特点来选取服务器,比如数据库要选取大内存、大磁盘的存储型的服务器;计算比较多的业务要选取CPU性能比较好的
2020-01-0333 - 阿土优雅关机与启动有案例么?理解了原理,具体怎么实现呢?
作者回复: 文中提到的nginx的例子,就是一个案例 除此之外,在微服务在重启时,先从注册中心中摘掉节点,然后观察流量没有了之后再重启。 其实,总的一点就是先切流量,再重启
2019-11-2833 - 啊啊啊哦哦nginx 上为什么要阶lvs。 一般dns服务器也可以实现轮训分发到不同的nginx上啊。
作者回复: LVS能抗更高的并发
2019-11-243