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

답글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.