
Haproxy
九嶷山
认真做事 用心做人
展开
-
HAProxy 研究笔记 -- 主循环处理流程
本文简单介绍 HAProxy 主循环的处理逻辑,版本为 1.5-dev17.0. 主循环 run_poll_loopHAproxy 的主循环在 haproxy.c 中的 run_poll_loop() 函数,代码如下:/* Runs the polling loop */void run_poll_loop(){ int next; tv_update_date(0,1); while...转载 2018-04-25 17:07:08 · 425 阅读 · 0 评论 -
HAProxy 研究笔记 -- TCP 连接处理流程
本文基于 HAProxy 1.5-dev7 版本。目录1. 关键数据结构 session2. 相关初始化2.1. 初始化处理 TCP 连接的方法2.2. 初始化 listener2.3. 绑定所有已注册协议上的 listeners2.4. 启用所有已注册协议上的 listeners3. TCP 连接的处理流程3.1. 接受新建连接3.2. TCP 连接上的接收事件3.3. TCP 连接上的发送事件...转载 2018-04-25 17:12:45 · 1951 阅读 · 0 评论 -
HAproxy 代理技术原理
本文转载自: http://www.cnblogs.com/Bozh/p/4019607.htmlhttps://blog.youkuaiyun.com/xiefangjin/article/details/509369541.简介HAProxy是一款提供高可用性、负载均衡以及基于TCP(第四层)和HTTP(第七层)应用的代理软件2. Features1.免费2.能够做到4层以上代理3.高性能4.高稳定性3....转载 2018-04-24 21:23:06 · 585 阅读 · 0 评论 -
haproxy+keepalived
所有的系统,都是先经历一个单台机器搞所有业务的时代,一个程序+一个mysql数据库,就可以满足开发及第一个版本上线的要求。随着,数据的增加以及业务的增长,这些应用就面临一个访问量的扩大以及扩展的问题。最简单的扩展就是水平扩展,原来由一个mysql增加为2个或多个,形成一个集群,这样最简单的能力就是提供更强的服务能力。如原来的访问量支持每秒1000,现在可以支持2000(理想值),相当于将服务能力分...转载 2018-04-24 16:47:03 · 263 阅读 · 0 评论 -
HAProxy 研究笔记 -- epoll 事件的处理
作者:Godbach Blog: http://godbach.blog.chinaunix.net ----本文介绍 HAProxy 中 epoll 事件的处理机制,版本为 1.5-dev17。1. 背景知识1.1. fd 更新列表1.2. fdtab 数据结构1.3. fd event 的设置2. _do_poll() 代码分析2.1. 检测 fd 更新列表2.2. 获取活动的 fd2.3...转载 2018-04-25 17:15:34 · 877 阅读 · 0 评论 -
HAProxy 研究笔记 -- HTTP请求处理-1-接收
作者:Godbach Blog: http://godbach.blog.chinaunix.net ----这里继续分析 http req 的处理。当前分析的代码为 1.5-dev17。1. 初始化 session 数据处理相关的设置建连的处理基本上就是 _do_poll ->listener_accept ->session_accept ->fronend_accept...转载 2018-04-25 17:16:30 · 704 阅读 · 0 评论 -
HAProxy 研究笔记 -- HTTP请求处理-2-解析
作者:Godbach Blog: http://godbach.blog.chinaunix.net ----本文继续分析 1.5-dev17 中接收到 client 数据之后的处理。haproxy-1.5-dev17 中接收 client 发送的请求数据流程见文档: HTTP请求处理-1-接收1. haproxy 主循环的处理流程主循环处理流程见文档 主循环简介请求数据的解析工作在主循环 p...转载 2018-04-25 17:17:26 · 1078 阅读 · 0 评论 -
HAProxy 研究笔记 -- rules 实现
作者:Godbach Blog: http://godbach.blog.chinaunix.net ----本文研究 haproxy-1.5-dev17 中 rules 的相关实现。1. ACL2. rule 的组成3. rule 的执行4. rule 的种类1. ACL如果要实现功能丰富的 rules,需要有配套的 ACL 机制。ACL 的格式如下:acl [flags] [operato...转载 2018-04-25 17:18:19 · 362 阅读 · 0 评论