V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
zhengji
V2EX  ›  分享创造

一个支持负载均衡,健康检查的 TcpProxy

  •  1
     
  •   zhengji ·
    zheng-ji · 2016-10-05 18:27:20 +08:00 · 2977 次点击
    这是一个创建于 2731 天前的主题,其中的信息可能已经有所发展或是发生改变。

    goTcpProxy

    一个支持负载均衡,健康检查的 TcpProxy

    smailltcp

    Description

    • TCP 代理服务
    • 后端支持多个服务器
    • 支持一致性哈希的负载均衡
    • 自动检测失败的后端服务器,并移除
    • 后端服务的健康检查接口

    How To Compile

    cd $GOPATH;
    git clone http://github.com/zheng-ji/goTcpProxy;
    make
    

    How To Use

    配置文件详解

    bind: 0.0.0.0:9999      // 代理服务监听端口
    wait_queue_len: 100     // 等待队列长度
    max_conn: 10000         // 并发最大连接
    timeout: 5              // 请求超时时间
    failover: 3             // 后端服务允许失败次数
    stats: 0.0.0.0:19999    // 健康检查接口
    backend:                // 后端服务列表
        - 127.0.0.1:80
        - 127.0.0.1:81
    log:
        level: "info"
        path: "/Users/zj/proxy.log"
    
    // 运行服务
    ./goTcpProxy -c=etc/conf.yaml
    

    gotcp

    4 条回复    2016-10-07 19:36:30 +08:00
    Yamade
        1
    Yamade  
       2016-10-05 22:53:48 +08:00
    http 来一个啊。
    xu1ming
        2
    xu1ming  
       2016-10-06 11:19:16 +08:00 via iPhone
    不错,学习了
    tinybaby365
        3
    tinybaby365  
       2016-10-07 12:18:45 +08:00 via iPhone
    有考虑 go gc 时 stop the world 吗?
    Beebird
        4
    Beebird  
       2016-10-07 19:36:30 +08:00
    跟 haproxy 的区别有哪些?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1742 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 44ms · UTC 16:37 · PVG 00:37 · LAX 09:37 · JFK 12:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.