/docker-activemq-mcollective

A test setup for building a network of brokers with activemq and scaling mcollective. Used for performance optimization of mcollective.

Primary LanguageRubyMIT LicenseMIT

ActiveMQ

Testing a network of brokers of ActiveMQ with MCollective. Docker is used to test the scale of MCollective server instances. The MCollective server connects to the slave(s). Mco client connects to the master to make sure all connected agents receive the messages.

Compose files

Compose files are split so building and local testing is seperated from running the activemq broker network.

docker-compose.yml

Contains the "master/slave" activemq broker network. Also contains MCollective to test ActiveMQ at scale. The compose file can be used in Rancher as well.

development.yml

Contains the definitions to build the activemq and mcollective images so they can be used in any orchestration tool (like Rancher). development.yml can also be used to test/ debug locally since it mounts the config files.

consumer.yml

Contains a ruby stomp client to test the network of activemq brokers

Testing

Start the cluster and one mco instance

docker-compose up

Run mco ping

docker-compose run --entrypoint=mco mcollective ping

Scale the mco instances

docker-compose up --scale mcollective=10 -d mcollective

Run another mco ping

docker-compose run --entrypoint=mco mcollective ping

Building

dc -f docker-compose.yml -f development.yml build master slave mcollective

References