小红花·文摘
  • 首页
  • AI Tokens🪙
  • 排行榜🏆
  • 直播
  • FAQ

> 本文是写作规划,不是可发布正文。拆解对象:HAProxy 数据面代理内核——以 HAProxy 3.4.3(2026-07-29;当前 LTS 线 3.4)为主线,把一次连接从 frontend/bind 接到 backend/server、以及 Runtime API / seamless reload 如何在不…

HAProxy / 数据面代理内核 — 系列规划

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T14:31:49Z

本文是HAProxy数据面代理内核系列文章的首篇,定位其生态位:文件/Runtime驱动的经典L4/L7负载均衡内核,区别于Nginx多进程与Envoy的xDS数据面。文章提出五条坐标系(请求路径、线程共享、协议表示、动态运维、失败归因)作为后续排障的共用语言,并规划14篇阅读路线,涵盖从accept到seamless reload的完整拆解,强调机制分析而非性能对比。

【HAProxy 数据面】数据面全景:从 Frontend 到 Seamless Reload 的代理内核

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z

本文介绍HAProxy 3.4.3的线程与调度机制。默认单进程多线程,每线程独立事件循环,连接固定由单线程服务。stick-table在线程间共享,但nbproc进程间不共享。thread-group和cpu-map用于优化CPU局部性。在poller线程中阻塞会导致该线程所有连接超时。与Nginx多进程和Envoy Main/Worker模型对比,HAProxy用共享内存换取粘性一致性,但需注意锁竞争和阻塞风险。

【HAProxy 数据面】线程与调度:nbthread、Thread-group 与共享内存边界

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z

本文介绍HAProxy前端接入机制:bind创建监听FD,accept后连接由工作线程持有;SO_REUSEPORT和cpu-map影响连接分配与CPU局部性;expose-fd是平滑重载取回监听套接字的前提;内容切换在stream规则层执行。接入失败需区分bind、maxconn、reload窗口等问题,而非直接归因于backend或ACL。

【HAProxy 数据面】Frontend / bind / accept:监听、FD 与接入路径

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z

本文介绍HAProxy代理内核中connection、mux、stream三层对象的分工:connection管理传输会话,mux解析线协议,stream执行代理事务。TCP与HTTP路径在mux层分叉,超时配置需区分附着对象(如timeout connect与client/server不同)。排障时先分层归因,再查连接池,避免混淆连接级与流级故障。

【HAProxy 数据面】Stream 与 Mux:连接之上的协议分层

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z

本文介绍HAProxy内部HTTP表示机制HTX:用版本无关的结构化块表示HTTP消息,mux负责线协议与HTX互转,规则引擎在HTX上执行改写。H1/H2在mux分叉、在HTX汇合。相比L4路径,HTX增加解析、规则、改写及再编码成本。HTX边界是安全与一致性边界,需严格阶段纪律。

【HAProxy 数据面】HTX 与 HTTP 路径:内部表示、改写落点与协议分叉

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z

本文介绍HAProxy规则引擎(ACL)在数据面的位置与副作用。核心要点:规则按相位(连接、内容、HTTP请求)顺序求值,动作有副作用,顺序即语义;use_backend是有序内容交换,选中后仍有LB/队列;track与reject/deny的相对顺序影响限流计数;内容规则可反复求值,需注意性能;与stick-table耦合实现跨段状态共享。

【HAProxy 数据面】ACL / 规则引擎:求值顺序、副作用与 stick-table 耦合

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z

本文深入解析HAProxy backend机制,涵盖负载均衡算法(如轮询、最少连接、哈希)在无粘滞会话时的选主逻辑;server maxconn限制并发连接,超出部分进入队列,超时或队列满则返回503;http-reuse策略控制连接复用;fullconn动态调整队列槽位,redispatch与backup实现故障转移。排障时需区分算法、队列、复用三层,并与Envoy进行对比分析。

【HAProxy 数据面】Backend / server / LB:算法、队列与连接复用边界

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z

HAProxy的stick-table机制同时支持会话粘滞和跟踪计数,其记忆能力由键类型、大小、过期时间和存储列共同定义。表满和过期是显式失败模式,分别导致限流变松和粘滞丢失。nbthread共享表,而nbproc不共享,多进程下全局限流语义会破裂。Peers与reload继承用于对齐多节点决策状态,与FD交接不同。存储列与键空间对齐决定跨代理标记是否生效,热路径写共享表有性能成本。

【HAProxy 数据面】Stick-table:键类型、容量、跨线程可见性与 peers/reload

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z

本文介绍HAProxy中SSL/TLS的两种处理路径:终结(在HAProxy内完成握手)与透传(仅转发字节,上游处理)。握手CPU消耗落在接收连接的线程上,会话缓存(tune.ssl.cachesize)影响全握手频率。证书选择与ALPN在握手期决定,与HTTP层ACL无关。容量规划需考虑缓存预分配内存,区分全握手与会话恢复的成本差异。

【HAProxy 数据面】SSL/TLS 路径:终结与透传、握手落点与会话缓存

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z

本文阐述HAProxy Runtime API与reload的运维分界:Runtime API通过stats socket可热修改服务器权重、状态、stick-table、ACL/Map条目及前端开关,但仅内存生效;结构变更如新增bind、frontend或规则树需修改配置并reload。Master CLI用于多进程管理,强调热改适合运行态调整,结构变更走文件,并需注意持久化纪律。

【HAProxy 数据面】Runtime API:可热改边界与必须 reload 的配置面

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z

本文介绍HAProxy排障方法,提出五轴清单:Accept/bind、Stream/mux、ACL/路由、Upstream/health、Reload/Runtime。排障时先选主轴,再用show info/stat/sess等只读命令定位信号,结合日志判断故障层。强调避免盲目操作,按症状走最短路径,并注意TLS、线程、stick-table等常见误判点。

【HAProxy 数据面】排障与可观测:五轴清单与 stats / sess / 日志落点

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z

本文为HAProxy数据面系列终章,通过排除树对比Nginx、Envoy、eBPF选型:HAProxy适合深度L4/L7负载均衡与热改运行态;Nginx偏Web反代;Envoy需API驱动;eBPF仅L3/L4。强调机制优势须支付迁移税,并列出stick-table一致性、QUIC成熟度、运维可观测性等开放问题,建议按排障坐标选型而非品牌口号。

【HAProxy 数据面】选型收束:机制排除树与系列开放问题

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z

本文介绍HAProxy数据面系列教程,涵盖请求路径、线程调度、HTX/ACL、后端负载均衡、Runtime API与无缝重载等14篇内容,旨在帮助工程师深入理解延迟与失败点,并对比Nginx、Envoy等选型,提供从配置到运维的完整机制路线图。

HAProxy / 数据面代理内核:从 Frontend 到 Seamless Reload

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2026-08-12T00:00:00Z
肖恩·托马斯:使用Patroni构建高可用性Postgres集群——第三部分:HAProxy

本文介绍了如何使用HAProxy作为路由层来构建高可用性Postgres集群,确保新连接指向主节点并提供健康检查功能。HAProxy的配置简单,完成后可通过测试验证其有效性,最终实现高效的Postgres集群解决方案。

肖恩·托马斯:使用Patroni构建高可用性Postgres集群——第三部分:HAProxy

Planet PostgreSQL Planet PostgreSQL · 2026-03-20T06:47:06Z

本文介绍了MinIO集群的配置与测试,包括配置文件准备、HAProxy容器启动、客户端设置及性能测试。测试结果表明,经过HAProxy的GET和PUT吞吐量接近多节点直连,整体性能良好。

使用 HAProxy 代理 MinIO 及性能测试

陈少文的博客 陈少文的博客 · 2026-02-08T00:00:00Z

HAProxy是专为负载均衡和代理设计的开源软件,配置分global、defaults、frontend、backend等段,支持TCP/HTTP模式。其ACL规则引擎强大,支持路径、Header、IP等多条件匹配。健康检查灵活,Runtime API可动态管理服务器,多线程模型提升性能,支持SSL终止和HTTP/2。相比Nginx,HAProxy在代理场景功能更深,适合大规模零停机运维。

【网络工程】HAProxy 工程:高级配置、ACL 与运维

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2025-08-31T00:00:00Z

本文系统对比了Nginx、HAProxy、Envoy和Traefik四种主流反向代理/网关,从设计哲学、架构模型、协议支持、可观测性、扩展机制和性能六个维度分析,指出各有适用场景:Nginx适合传统Web,HAProxy擅长高性能负载均衡,Envoy面向云原生Service Mesh,Traefik简化容器化部署。建议根据团队经验和场景选型,可混合部署,并给出灰度迁移策略。

【网络工程】网关选型对比:Nginx vs HAProxy vs Envoy vs Traefik

土法炼钢兴趣小组的博客 土法炼钢兴趣小组的博客 · 2025-07-19T00:00:00Z
使用ReadySet对PostgreSQL进行查询缓存的测试(包括ProxySQL和HAproxy)第二部分:测试结果

本文测试了使用ReadySet、ProxySQL和HAproxy对PostgreSQL进行查询缓存的效果,环境由多个云实例组成,主要分析了读写和只读场景。结果表明,ProxySQL在读写负载下优于ReadySet,而HAproxy在负载均衡方面表现更佳。总体来看,分流到多个服务器的场景性能更好。

使用ReadySet对PostgreSQL进行查询缓存的测试(包括ProxySQL和HAproxy)第二部分:测试结果

Percona Database Performance Blog Percona Database Performance Blog · 2025-07-02T12:38:57Z
测试ReadySet作为PostgreSQL的查询缓存器(附ProxySQL和HAproxy)第一部分:使用指南

作者在巴西Blumenau的PGDay活动中介绍了ReadySet对PostgreSQL的支持。ReadySet是一种数据库缓存服务,通过PostgreSQL的复制流保持数据同步,降低脏数据风险。文章还探讨了ProxySQL和HAproxy的使用,测试环境包括Patroni集群和应用服务器,旨在提高数据库请求处理效率。

测试ReadySet作为PostgreSQL的查询缓存器(附ProxySQL和HAproxy)第一部分:使用指南

Percona Database Performance Blog Percona Database Performance Blog · 2025-07-01T14:15:07Z
  • <<
  • <
  • 1 (current)
  • 2
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
友情链接: MOGE.AI 九胧科技 1tok 菜鸟教程 Remio.AI DeekSeek连连 53AI 神龙海外代理IP IPIPGO全球代理IP 东波哥的博客 匡优考试在线考试系统 开源服务指南 蓝莺IM Solo 独立开发者社区 AI酷站导航 极客Fun 我爱水煮鱼 周报生成器 He3.app 简单简历 白鲸出海 T沙龙 职友集 TechParty 蟒周刊 Best AI Music Generator 模力方舟 Gitee AI

小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码