HAProxy 简介

Posted 血衫非弧

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HAProxy 简介相关的知识,希望对你有一定的参考价值。


血衫平时会玩一些日服韩服游戏,有的游戏还会限定某个地区的IP才能够接入。对于一些对丢包率特别敏感的游戏(比如舰队Collection),在游戏时就必须搭建一个中继服务器,从本地直连到丢包率低的中继服务器,再连接到目标服务器,这样我们就能够形成一条丢包率较低的线路。

HAProxy是一款HTTP/TCP负载均衡器,使用 HAProxy 可以达到中继服务器的效果(算是杀鸡用牛刀的一个案例Orz)。

这篇文章介绍 Haproxy 的基本功能特性和它的简单应用。

介绍

HAProxy提供了L4(TCP)和L7(HTTP)两种负载均衡能力,具备丰富的功能。HAProxy的社区非常活跃,具备媲美商用负载均衡器的性能和稳定性,它当前不仅仅是免费负载均衡软件的首选,更几乎成为了唯一选择。

HAProxy的核心功能

  • 负载均衡:L4和L7两种模式,支持RR/静态RR/LC/IP Hash/URI Hash/URL_PARAM Hash/HTTP_HEADER Hash等丰富的负载均衡算法

  • 健康检查:支持TCP和HTTP两种健康检查模式

  • 会话保持:对于未实现会话共享的应用集群,可通过Insert Cookie/Rewrite Cookie/Prefix Cookie,以及上述的多种Hash方式实现会话保持

  • SSL:HAProxy可以解析HTTPS协议,并能够将请求解密为HTTP后向后端传输

  • HTTP请求重写与重定向

  • 监控与统计:HAProxy提供了基于Web的统计信息页面,展现健康状态和流量数据。基于此功能,使用者可以开发监控程序来监控HAProxy的状态

HAProxy的关键特性

  • 采用单线程、事件驱动、非阻塞模型,减少上下文切换的消耗,能在1ms内处理数百个请求。并且每个会话只占用数KB的内存。

  • 大量精细的性能优化,如O(1)复杂度的事件检查器、延迟更新技术、Single-buffereing、Zero-copy forwarding等等,这些技术使得HAProxy在中等负载下只占用极低的CPU资源。

  • HAProxy大量利用操作系统本身的功能特性,使得其在处理请求时能发挥极高的性能,通常情况下,HAProxy自身只占用15%的处理时间,剩余的85%都是在系统内核层完成的。

  • HAProxy作者在8年前(2009)年使用1.4版本进行了一次测试,单个HAProxy进程的处理能力突破了10万请求/秒,并轻松占满了10Gbps的网络带宽。

HAProxy的大部分工作都是在操作系统内核完成的,所以HAProxy的稳定性主要依赖于操作系统,作者建议使用2.6或3.x的Linux内核,对sysctls参数进行精细的优化,并且确保主机有足够的内存。这样HAProxy就能够持续满负载稳定运行数年之久。

安装

Debian 系的安装非常简单:

sudo apt-get -y install haproxy

编辑文件/etc/haproxy/haproxy.cfg,全文替换:

global
    ulimit-n  51200

defaults
    log    global
    mode    tcp
    option    dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000

frontend ss-in
    bind *:relay_server_port  # 中继端口,或端口范围,30000-40000
    default_backend ss-out

backend ss-out
    server server1 proxy_server_ip:proxy_server_port maxconn 20480 # 目标服务器,可以带上对方的端口号。不带的话则是与中继端口一一对应

使用命令

启动:service haproxy start
停止:service haproxy stop
重启:service haproxy restart
重载:service haproxy reload
状态:service haproxy status

参考资料

  • HAProxy从零开始到掌握

  • 利用Haproxy进行SS代理中继

  • 负载均衡:haproxy,slb以及node-slb


滋磁一下


以上是关于HAProxy 简介的主要内容,如果未能解决你的问题,请参考以下文章

HAProxy简介及常用配置文件详解

001.HAProxy简介

haproxy笔记之二:HAProxy简介

haproxy学习——简介基本配置

haproxy的丰富特性简介

高可用高性能负载均衡软件HAproxy详解指南-第一章(简介安装)