【腾讯云的1001种玩法】 十分钟轻松搞定云架构 · 负载均衡的几种均衡模式

视频内容

今天,我们来学习一下负载均衡的几种均衡模式。通过了解负载均衡的均衡模式,我们可以更好的利用负载均衡来为我们的应用服务。

首先,我们来看一看腾讯云负载均衡支持哪些均衡模式?

  • 按权重轮训
  • 按IP Hash
  • 加权最小连接数

在按权重轮训模式下,我们需要给每台作为后端的云主机设置权重。负载均衡可以根据权重来分配请求。这种模式比较适合比较简单的架构。使用起来比较简单,设置也比较容易。

我们来简单举个例子:

用户向负载均衡发送14个请求,负载均衡后端一共有三台云主机:云主机1 云主机2 云主机3 。三个云主机的权重分别是3 5 7。负载均衡器在进行请求分发时,优先高权重的云主机分发请求,就会给云主机3分发7个请求,给云主机2分发5个请求,给云主机1 分发2个请求。这样就将用户发送的14个请求分发完成。当下次再有新的请求通过负载均衡进行分发时,也会按照这样的模式来进行分配。

这种模式会又一个很明显的问题,就是权重最低的云主机可能每次都分发较少的请求,一致都处在一个比较低的利用率水平

在这里,我们来穿插一个知识点:会话保持。在我们设置按权重轮训时,会有一个会话保持的选项。

会话保持就是让来自同一个IP或同一个IP段的请求转发到同一台后端服务器上。因为某些应用无法完整的拆分状态,会有一些缓存信息存放在云主机上,所以这个时候,就需要开启会话保持,以保证不会因为请求分发导致状态丢失,出现用户不停登陆的情况。

不过会话保持对于一些应用不能提供很好的均衡,比如微信公众平台的请求处理。更好的方法是将状态提取出来,使用redis、mysql来存储状态,而不是由程序本身存储。

IP Hash 是根据请求的源地址进行处理,来做为 Hash 的 Key ,请求对应的处理。

IP Hash 可以保证同一个IP始终请求同一台云主机,以另外一种模式来实现会话保持。对于一些不支持会话保持的场景,可以使用这种形式来将源IP的请求分发到同一台云主机。

同样,这样准备了一张图,来方便大家理解:

我们假设源站地址的 127.0.0.1 ,他的 Hash Key 为 K31,负载均衡在处理时,就会把请求分发到 Key 同为 K31 的主机上。如果后续这个IP依然发送请求,同样转发到 K31 ,这样就实现了会话保持。

加权最小链接数在将状态抽离云主机时,会是最好的选择。加权最小链接数处理请求会有两个步骤。

  1. 获取当前后端云主机的活动链接数。
  2. 读取为每个云主机设置的权值。
  3. 使用活动链接数和权值计算出新的合理的权值
  4. 根据计算出的权值分发请求

这种均衡的方式除了传统的权重以外,引入了活动链接数这一个重要的量,通过对活动链接数的加权处理,保证每台云主机的请求分配和其本身的负载相关联,不会出现某些主机处在近乎闲置的状态,其他的主机则承载较高压力。

这种均衡模式非常适合较为复杂的架构,可以根据情况进行具体分析。

拓展阅读:

负载均衡模式:https://www.qcloud.com/document/product/214/6153

会话保持:https://www.qcloud.com/document/product/214/6154

协议支持及端口配置:https://www.qcloud.com/document/product/214/6152

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小狼的世界

Kubernetes Ingress 学习

安装文件mandatory,需要增加hostNetwork属性,否则访问的时候总是有问题。

43520
来自专栏smy

一张图解释负载均衡

首先当大量用户访问时候,先请求到nignx服务器,因为nignx对于高并发支持较好,所以由nignx服务器将访问需求分配给不同的apache服务器,apache...

21330
来自专栏CSDN技术头条

外行人都能看懂的 Spring Cloud,错过了血亏!

这篇主要来讲讲 Spring Cloud 的一些基础知识。以下是 SpringCloud GitHub Demo ,看完文章的同学可以自己练手玩玩:

18230
来自专栏云计算

使用NGINX作为前端代理和软件负载均衡器

NGINX Web服务器可以充当功能非常强大的软件负载平衡器,此外还有更传统的角色,通过HTTP使用FastCGI处理程序为脚本提供静态内容和动态内容。因为NG...

27810
来自专栏Java帮帮-微信公众号-技术文章全总结

Nginx+Tomcat关于Session的管理【面试+工作】

解决办法安装epel:EPEL是企业版 Linux 附加软件包的简称,EPEL是一个由Fedora特别兴趣小组创建、维护并管理的,针对 红帽企业版 Linux(...

24520
来自专栏好好学java的技术栈

超详细的Nginx简易教程,一学就会!

Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。本文的作者为「静默虚空」 ,可点击文...

13630
来自专栏云知识学习

Kubernetes 的服务发现与负载均衡(Service)

Service通常会和Deployment结合在一起使用,首先通过Deployment部署应用程序,然后再使用 Service 为应用程序提供服务发现、负载均衡...

1.1K20
来自专栏smy

php获取用户真实IP和防刷机制

X-Forwarded-For(XFF):  是用来识别通过HTTP代理或负载均衡方式连接到Web服务器的客户端最原始的IP地址的HTTP请求头字段, 格式:c...

86020
来自专栏禹都一只猫博客

nginx负载均衡配置

ParadigmSDKv3.init('f31e45e6e4a54a2ba32539ef6053b7ad',{ isDisableArticleFetch: t...

16740
来自专栏GreenLeaves

正向代理、负载均衡、反向代理

假设我们需要使用自己的笔记本(A)访问国外的站点(B),由于网络限制,我们无法访问国外的站点.但是此时我们有一台服务器(C)跳出了网络限制可以访问国外站点,那么...

20950

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励