/rabbitmq-ha

itamae: RabbitMQ High availability configuration by haproxy and Keepalived.

Primary LanguageRoff

RabbitMQ HA

RabbitMQ High availability configuration by haproxy and Keepalived.

NOTE: This repository is for self-study.

Usage

Server setup

# vagrant up
vagrant plugin install vagrant-vbguest
vagrant plugin install vagrant-proxyconf # if you needed
vagrant up
vagrant reload # to reflect SELINUX setting change, reload.

Using itamae

# install itamae
# NOTE: in the following command example omit "bundle exec"
bundle install --path vendor/bundle

# Primary node `mq1`: RabbitMQ
itamae ssh -h mq1 -y node/develop.yml roles/rabbit_master.rb

# Standby node `mq2`: RabbitMQ
itamae ssh -h mq2 -y node/develop.yml roles/rabbit_slave.rb

# `mq1` and `mq2`: haproxy
itamae ssh -h mq1 -y node/develop.yml roles/haproxy.rb
itamae ssh -h mq2 -y node/develop.yml roles/haproxy.rb

# `mq1` and `mq2`: keepalived
itamae ssh -h mq1 -y node/develop.yml roles/keepalived.rb
itamae ssh -h mq2 -y node/develop.yml roles/keepalived.rb

TODO

References

RabbitMQ

HAProxy

keepalived