使用 haproxy 进行 TCP 负载均衡

Ubutun 安装

#ubuntu 14.04LTS 
add-apt-repository ppa:vbernat/haproxy-1.7
apt-get update
apt-get dist-upgrade
apt-get install haproxy

mac 安装

brew install haproxy
#运行 `haproxy -f  /usr/local/Cellar/haproxy/1.6.6/haproxy.cfg  -d`

配置文件

global
    log 127.0.0.1 local0 notice
    maxconn 2000
    user haproxy
    group haproxy

defaults
    log     global
    mode    http
    option  httplog
    option  dontlognull
    retries 3
    option redispatch
    timeout connect  5000
    timeout client  10000

frontend localnodes
    bind *:4000
    mode tcp
    default_backend nodes
    timeout client          1m

backend nodes
    mode tcp
    balance leastconn
    server web01 127.0.0.1:4001 check
    server web02 127.0.0.1:4002 check
    timeout connect        10s
    timeout server          1m
  • check 表示 haproxy 会对后台的 server 做健康检查,一旦发现离线就不往这个节点发信息了
  • balance leastconn 表示负载策略是 最小连接数
  • 参考 How To Use HAProxy to Set Up HTTP Load Balancing on an Ubuntu VPS
  • maxconn 的默认值是2000
  • timeout client  10000 指的是如果 10000ms 以内没有进行通讯,tcp 连接将重置
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在大型系统设计中用代理在负载均衡是最常见的一种方式,而相对靠谱的解决方案中Nginx、HAProxy、LVS、F5...
    欢醉阅读 4,624评论 1 5
  • 整体架构 部署步骤 基于 Docker 基本概念内存节点只保存状态到内存,例外情况是:持久的 queue 的内容将...
    mvictor阅读 12,787评论 5 30
  • 互联网架构基础知识 一、网站常见架构 负载层 页面缓存层 web层 数据层 二、运维法则 缓存为王 尽量在前端(缓...
    魏镇坪阅读 4,852评论 0 9
  • 潇潇洒洒挥毫笔,款款深深巨匠襟。 走兽飞禽皆入画,星辰日月亦藏心。 风催禅韵烟峦淡,雾绕轻舟气象新。 水墨丹青描岁...
    不惑而歌阅读 813评论 21 34
  • 亲爱的小虫 今天你和一帮孩子作为外挂参加了城市定向赛,走访了很多有特色的建筑,帮忙一起完成任务,还逛了一个银行博物...
    240c6d9396b5阅读 165评论 0 0