vlambda博客
学习文章列表

牛人带你通透理解高可用网络基础架构的关键组件:负载均衡机制

上篇给大家介绍的内容是微服务网关:Zuul源码解析,相信大家已经领会并且贯通了;那么本文将给大家介绍的内容是负载均衡:负载均衡机制。

负载均衡

负载均衡(Load Balance)是分布式网络环境中的重要机制,在微服务架构中,通过负载均衡可以实现系统高可用性、集群扩容等。

负载均衡机制也决定着整个系统的性能和稳定性。

负载均衡机制

负载均衡可以说是高可用网络基础架构的关键组件,也是一种集群技术。它通过将网络流量分担到不同的网络服务器实现了业务容量的水平横向扩展,负载均衡不仅可以提升集群中不同服务器实例的负载性能,还可以保证集群整体的稳定性,也可以根据一定的负载策略实现灰度发布、蓝绿部署、A/B测试等。

负载均衡技术优势

● 高性能:负载均衡技术将业务请求均衡地分配到多台设备或多条链路上,提高了整个系统的性能。

● 可扩展性:负载均衡技术可以方便地增加集群中设备或链路的数量,在不降低业务质量的前提下满足不断增长的业务需求。

● 高可靠性:单个甚至多个设备或链路发生故障不会导致业务中断,提高了整个系统的可靠性。

● 可管理性:大量的管理工作都集中在应用负载均衡技术的设备上,设备群或链路只需要通常的配置和维护即可。

● 透明性:对用户而言,集群等同于可靠性高、性能好的设备或链路,用户感知不到也不必关心具体的网络结构,增加和减少设备或链路均不会影响正常的业务。

负载均衡的另外一种分类方式是根据负载服务器清单列表存放的位置划分为服务端负载均衡和客户端负载均衡。

服务端负载均衡


客户端负载

Ribbon就是客户端负载均衡工具,Ribbon缓存维护服务列表,如果服务实例注销或宕机,Ribbon能够自行将其剔除。Ribbon利用从EurekaServer中读取的服务信息列表(存储在本地即客户端中),在调用服务实例时合理地进行负载,直接请求到具体的微服务。Ribbon客户端负载均衡如下图所示。


另外,需要说明的是,我们也可以把Ribbon作为服务端负载均衡使用,当我们把Ribbon放入Zuul网关时,对于请求客户端而言,Zuul网关+Ribbon的组合就可以完成服务端的负载均衡。

本文给大家讲解的内容是负载均衡:负载均衡机制

  1. 下篇文章给大家讲解的内容是四层与七层负载均衡以及负载均衡算法

  2. 觉得文章不错的朋友可以转发此文关注小编;

  3. 感谢大家的支持!