HAProxy를 통한 RabbitMQ MQTT의 로드밸런싱

1. 개요
RabbitMQ MQTT서버를 리눅스(moramlinux)와 Windows 2012 Server(MoramDBSvr)에 설치하여 클러스터링을 걸어놓은 상태이다. 이를 이용하여 리눅스(mosamlinux)에 HAProxy를 설치하여 아래처럼 4530 포트로 요청이 들어왔을때 192.168.0.206 또는 192.168.0.207 서버로 전달하기 위하여 기술한 내용이다.

2. 설치

add-apt-repository ppa:vbernat/haproxy-1.6
apt-get update
apt-get dist-upgrade
apt-get install haproxy

3. 환경설정
/etc/haproxy/haproxy.cfg 파일을 열어 수정한다.

global
        log /dev/log    local0
        log /dev/log    local1 notice
        chroot /var/lib/haproxy
        stats socket /run/haproxy/admin.sock mode 660 level admin
        stats timeout 30s
        user haproxy
        group haproxy
        daemon

        # Default SSL material locations
        ca-base /etc/ssl/certs
        crt-base /etc/ssl/private

        # Default ciphers to use on SSL-enabled listening sockets.
        # For more information, see ciphers(1SSL). This list is from:
        #  https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/
        ssl-default-bind-ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
        ssl-default-bind-options no-sslv3

        maxconn    4096 # 최대연결수


defaults
        log     global
        #mode    http
        mode    tcp
        #option  httplog
        option  tcplog
        option  dontlognull
        option  redispatch
        retries 3

        timeout connect 5000
        timeout client  50000
        timeout server  50000


listen  rabbitmq
        bind 192.168.0.207:4530
        mode tcp
        balance roundrobin
        server rabbitmq-mosaicdbsvr 192.168.0.206:1883 check inter 5s rise 2 fall 3
        server rabbitmq-moramlinux 192.168.0.207:1883 check inter 5s rise 2 fall 3

4. 리스타드

service haproxy restart
태그 , ,

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다