HAproxy七层负载均衡(2)HAproxy概述
  UYqGUrvNnnTe 2023年11月12日 15 0

简介

HAproxy是一款高性能的负载均衡软件。

因为其专注于负载均衡这一些事情,

因此与nginx比起来在负载均衡这件事情上做更好,更专业。


用户群体

包括 GitHub、Bitbucket 、Stack Overflow 、Reddit、Tumblr、Twitter 和 Tuenti 在内的知名网站,及亚马逊网络服务系统都使用了HAProxy。


HAProxy Session亲缘性

haproxy负载均衡保持客户端和服务器Session亲缘性的三种方式

1 用户IP 识别

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

配置指令 balance source


2 cookie 识别

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

配置指令例举 cookie SESSION_COOKIE insert indirect nocache

部分浏览器,可以观察到用户的请求头的cookie里 有类似" Cookie jsessionid=0bc588656ca05ecf7588c65f9be214f5; SESSION_COOKIE=app1" SESSION_COOKIE=app1就是haproxy添加的内容


3 session 识别

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

配置指令例举 appsession JSESSIONID len 64 timeout 5h request-learn


HAProxy特点

•支持tcp / http 两种协议层的负载均衡,使得其负载均衡功能非常丰富。

•支持8种左右的负载均衡算法,尤其是在http模式时,有许多非常实在的负载均衡算法,适用各种需求。

•性能非常优秀,基于事件驱动的链接处理模式及单进程处理模式(和Nginx类似)让其性能卓越。

单进程处理模式:所有客户端连接全部都由同一个服务进程来处理,目标就是等待连接,来一个分配一个,主要消耗cpu,

多线程处理模式:多线程模式消耗内存,会限制并发而且多线程需要进程间通信,也会消耗相当多的cpu资源

•拥有一个功能出色的监控页面,实时了解系统的当前状况。

•功能强大的ACL支持,给用户极大的方便。


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月12日 0

暂无评论

推荐阅读
UYqGUrvNnnTe