zoukankan      html  css  js  c++  java
  • HAProxy 实现镜像队列的负载均衡

    HAProxy 实现镜像队列的负载均衡

    1. HAProxy 简介

      HAProxy是一款提供高可用性、负载均衡以及基于TCP和HTTP应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。

      HAProxy适用于那些负载较大的web站点,这些站点通常又需要会话保持或七层处理。

      HAProxy可以支持数以万计的并发连接,并且HAProxy的运行模式使得它可以很简单安全的整合进架构中,同时可以保护web服务器不被暴露到网络上。

    2. HAProxy 的规划(搭建2台是为后面做HAProxy高可用做准备)

      ip 用途 主机名
      192.168.13.104 HAProxy server4
      192.168.13.105
    3. 集群是用docker安装的,具体可以看这篇博客:https://www.cnblogs.com/dalianpai/p/13197018.html

    集群:

    4. HAProxy 的安装

    #下载依赖包 - 如果已安装可以跳过
    yum install gcc vim wget
    # 下载haproxy
    wget http://www.haproxy.org/download/1.6/src/haproxy-1.6.5.tar.gz
    #解压
    tar -zxvf haproxy-1.6.5.tar.gz -C /usr/local
    #进入目录、进行编译、安装
    cd /usr/local/haproxy-1.6.5
    make TARGET=linux31 PREFIX=/usr/local/haproxy
    make install PREFIX=/usr/local/haproxy
    #用来存放配置文件
    mkdir /etc/haproxy
    #赋权
    groupadd -r -g 149 haproxy
    useradd -g haproxy -r -s /sbin/nologin -u 149 haproxy
    #创建haproxy配置文件
    touch /etc/haproxy/haproxy.cfg
    

    配置文件如下:

    #logging options
    global
        log 127.0.0.1 local0 info
        maxconn 5120
        # ha的安装地址
        chroot /usr/local/haproxy
        uid 99
        gid 99
        daemon
        quiet
        nbproc 20
        pidfile /var/run/haproxy.pid
    
    defaults
        log global
        #使用4层代理模式,”mode http”为7层代理模式
        mode tcp
        #if you set mode to tcp,then you nust change tcplog into httplog
        option tcplog
        option dontlognull
        retries 3
        option redispatch
        maxconn 2000
        contimeout 5s
         ##客户端空闲超时时间为 30秒 则HA 发起重连机制
         clitimeout 30s
         ##服务器端链接超时时间为 15秒 则HA 发起重连机制
         srvtimeout 15s 
    #front-end IP for consumers and producters
    
    listen rabbitmq_cluster
        bind 192.168.1.121:5672
        #配置TCP模式
        mode tcp
        #balance url_param userid
        #balance url_param session_id check_post 64
        #balance hdr(User-Agent)
        #balance hdr(host)
        #balance hdr(Host) use_domain_only
        #balance rdp-cookie
        #balance leastconn
        #balance source //ip
        #简单的轮询
        balance roundrobin
        #rabbitmq集群节点配置 #inter 每隔五秒对mq集群做健康检查, 2次正确证明服务器可用,2次失败证明服务器不可用,并且配置主备机制
            server server1 192.168.1.119:5673 check inter 5000 rise 2 fall 2
            server server2 192.168.1.119:5674 check inter 5000 rise 2 fall 2
            server server3 192.168.1.119:5675 check inter 5000 rise 2 fall 2
    #配置haproxy web监控,查看统计信息
    listen stats
        bind 192.168.1.121:8100 # 注意此处的ip地址,我们配置了2台机器
        mode http
        option httplog
        stats enable
        #设置haproxy监控地址为http://192.168.1.121:8100/rabbitmq-stats
        stats uri /rabbitmq-stats
        stats refresh 5s
    
    #logging options
    global
        log 127.0.0.1 local0 info
        maxconn 5120
        # ha的安装地址
        chroot /usr/local/haproxy
        uid 99
        gid 99
        daemon
        quiet
        nbproc 20
        pidfile /var/run/haproxy.pid
    
    defaults
        log global
        #使用4层代理模式,”mode http”为7层代理模式
        mode tcp
        #if you set mode to tcp,then you nust change tcplog into httplog
        option tcplog
        option dontlognull
        retries 3
        option redispatch
        maxconn 2000
        contimeout 5s
         ##客户端空闲超时时间为 30秒 则HA 发起重连机制
         clitimeout 30s
         ##服务器端链接超时时间为 15秒 则HA 发起重连机制
         srvtimeout 15s 
    #front-end IP for consumers and producters
    
    listen rabbitmq_cluster
        bind 192.168.1.118:5672
        #配置TCP模式
        mode tcp
        #balance url_param userid
        #balance url_param session_id check_post 64
        #balance hdr(User-Agent)
        #balance hdr(host)
        #balance hdr(Host) use_domain_only
        #balance rdp-cookie
        #balance leastconn
        #balance source //ip
        #简单的轮询
        balance roundrobin
        #rabbitmq集群节点配置 #inter 每隔五秒对mq集群做健康检查, 2次正确证明服务器可用,2次失败证明服务器不可用,并且配置主备机制
            server server1 192.168.1.119:5673 check inter 5000 rise 2 fall 2
            server server2 192.168.1.119:5674 check inter 5000 rise 2 fall 2
            server server3 192.168.1.119:5675 check inter 5000 rise 2 fall 2
    #配置haproxy web监控,查看统计信息
    listen stats
        bind 192.168.1.118:8100 # 注意此处的ip地址,我们配置了2台机器
        mode http
        option httplog
        stats enable
        #设置haproxy监控地址为http://192.168.1.118:8100/rabbitmq-stats
        stats uri /rabbitmq-stats
        stats refresh 5s
    

    结果图:

    当断了一个节点如下:

  • 相关阅读:
    iOS加载动态图的两种方法
    python初探
    博客园封笔
    office的分栏技巧
    关于排序...
    LaTex 学习笔记
    vim 学习笔记
    iOS 编程学习笔记之Foundation框架
    数论
    扫描线概览
  • 原文地址:https://www.cnblogs.com/dalianpai/p/13272918.html
Copyright © 2011-2022 走看看