博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Haproxy 8种算法+Session共享
阅读量:3715 次
发布时间:2019-05-21

本文共 1067 字,大约阅读时间需要 3 分钟。

Haproxy有8种负载均衡算法(balance),分别如下:

1.balance roundrobin # 轮询,软负载均衡基本都具备这种算法

2.balance static-rr # 根据权重,建议使用

3.balance leastconn # 最少连接者先处理,建议使用

4.balance source # 根据请求源IP,建议使用

5.balance uri # 根据请求的URI

6.balance url_param,# 根据请求的URl参数'balance url_param' requires an URL parameter name

7.balance hdr(name) # 根据HTTP请求头来锁定每一次HTTP请求

8.balance rdp-cookie(name) # 根据据cookie(name)来锁定并哈希每一次TCP请求

由于负载请求分发到不同服务器,可能导致Session会话不同步的问题,若想实现会话共享或保持,可采用如下3种方式:

1.用户IP 识别

haroxy 将用户IP经过hash计算后 指定到固定的真实服务器上(类似于nginx 的IP hash 指令)

配置指令

balance source

2.Cookie 识别

haproxy 将WEB服务端发送给客户端的cookie中插入(或添加加前缀)haproxy定义的后端的服务器COOKIE ID。

配置指令例举

cookie SESSION_COOKIE insert indirect nocache

用firebug可以观察到用户的请求头的cookie里 有类似” Cookie jsessionid=0bc588656ca05ecf7588c65f9be214f5; SESSION_COOKIE=app1” SESSION_COOKIE=app1就是haproxy添加的内容

3.Session 识别

haproxy 将后端服务器产生的session和后端服务器标识存在haproxy中的一张表里。客户端请求时先查询这张表。

配置指令例举

appsession JSESSIONID len 64 timeout 5h request-learn

--------------------- 
作者:CSDN风清扬 
来源:CSDN 
原文:https://blog.csdn.net/hexieshangwang/article/details/49617273 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的文章
Springboot 自动装配流程图详解
查看>>
Springboot 整合mybatis
查看>>
Springboot+mongodb本地环境正常,生产环境报错{java.lang.NoClassDefFoundError: jdk/net/ExtendedSocketOptions}
查看>>
你真的知道get方法与post方法的区别吗?论get方法与post方法上传下载文件的区别
查看>>
swagger配置及升级版swagger-bootstrap-ui配置+访问账号密码登录限制
查看>>
网易云Api,轻松获取音乐数据
查看>>
List与String相互转换
查看>>
阿里巴巴fastjson api使用教程
查看>>
栈与堆的个人理解
查看>>
Lambda表达式概念理解
查看>>
Java 8 Stream 优雅的流式编程, 过滤集合类型的数据lambda表达式
查看>>
浅谈重不重写equals和hashcode对于HashMap添加元素的影响
查看>>
面试题:Redis是单线程,速度为什么会这么快?
查看>>
关于String==和String.intern()的面试题,一文读懂
查看>>
new Hashmap 和 new ArrayList时设置初始化容量多少合适
查看>>
RocketMQ概念简介
查看>>
关于BIO和NIO的理解与总结(网络IO)
查看>>
STL应用之stack、queue、priority_queue容器适配器
查看>>
继承的学习——C++
查看>>
实现一个minishell小程序
查看>>