nginx学习(1)——负载均衡策略

负载均衡

nginx的负载均衡可以分为两大类内置策略、扩展策略

内置策略默认会被编译进内核,使用时只需要在nginx配置中配置相关参数集合。内战策略包括

  1. 轮询
  2. 加权轮询
  3. IP Hash

扩展策略不会编译进内核,需要手动将第三方模块编译进nginx内核。扩展策略主要通过第三方模块实现,种类比较丰富,常见的有

  • url hash
  • fair 等

下面重点介绍几种常用策略

  1. 轮询

轮询就是讲每个请求按顺序(时间顺序或排列次序)注意分配到不动的后端节点上,对于出现问题的节点自动排除。

  1. 加权策略

加权轮询就是在轮询策略的基础上,根据后端节点性能的不同设置不同的权重。指定各个后端节点被轮询到的几率。

  1. ip_hash

ip_hash策略就是将前端的访问ip进行hash操作,然后根据hash的结果将请求分配到不同的后端节点。这种策略也可以看成是一种特殊的加权轮询。通过nginx的实现,每个前端访问的ip会固定访问一个后端节点。

优点:解决前端用户session在后端多个节点共享的问题

  1. usl hash

这种策略与ip_hash相近,不同点是ip_hash是对客户端的ip进行hash,而url_hash是对客户端请求的url进行hash。

优点:如果后端有缓存服务器,可以提高缓存的效率,同时也能解决session共享的问题

缺点:后端节点出现异常,不能自动排除。异常节点导致503错误

  1. fair

fair 将请求转发的负载最小的后端节点。负载判断的标准是:nginx通过后端节点队请求的响应时间来判断,响应时间段说明负载相对轻。得出结果后,nginx将请求转发到负载最小的节点

你可能感兴趣的:(Nginx,nginx,分布式,运维)