你们好,最近小活发现有诸多的小伙伴们对于nginx负载均衡策略,nginx负载均衡这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、 发送所有后端轮换培训的请求是最简单的方式,也是默认的分配方式;
2、 跟踪与后端的当前活动连接数。连接数最少表示这个后端负载最轻,将请求分配给他。该方法将考虑分配给配置中每个上游的重量信息。
3、 该请求将被分配到后端;具有最快的响应和最少的活动连接;
4、 计算请求源的IP地址的哈希值。IPv4会考虑前三个八位字节,IPv6会考虑所有的地址位,然后分配给后端;根据通过某种映射得到的哈希值,生成一个新的哈希值。
5、 以用户自定义资源(如URL)的方式计算哈希值完成分配,其可选的consistent关键字支持一致性哈希特性;
6、 当用户(浏览器)与服务器交互时,通常会在本地保存一些信息,整个过程称为一个会话,并由唯一的会话ID标识。
7、 会话的概念不仅仅用在购物车这种常见的情况下,因为HTTP协议是无状态的,所以任何需要逻辑上下文的情况都必须使用会话机制。此外,HTTP客户端还会在本地缓存一些额外的数据,这样可以减少请求,提高性能。
8、 如果负载均衡可能会把这个会话的请求分布到不同的后台服务器上,那肯定是不合适的,这些数据必须通过多个后端共享,肯定会效率低下。
9、 最简单的情况是确保会话一致性。——同一个会话的每个请求将被分配到同一个后端。
10、 有问题的后端要及时发现,从分发组中剔除,业务增长时可以灵活增加后端的数量。
11、 此外,服务提供商应该根据流行的弹性计算云计算服务的当前负载自动添加和减少后端主机。
12、 通常,现代网络服务提供商的域名会与多个主机相关联。在进行DNS查询时,默认情况下,DNS服务器会以循环的形式按不同的顺序返回IP地址列表,因此将客户请求分配给不同的主机是很自然的。
13、 然而,这种方法包含固有的缺陷:
14、 DNS不检查主机和IP地址的可访问性,所以分配给客户端的IP不保证可用(Google 404);
15、 DNS解析结果将持续缓存在客户端和多个中间DNS服务器中;
16、 所以后端的分布不会那么理想。
以上就是nginx负载均衡这篇文章的一些介绍,希望对大家有所帮助。
标签:
免责声明:本文由用户上传,如有侵权请联系删除!