ActiveMQ Easy Config
Project description
ActiveMQ Easy Config
This project aims a easy way to setup a network of ActiveMQ brokers. You can change easily the topology and this script will create the configurations based on your setup. ActiveMQ Easy Config will produce for you:
- An
activemq.xml
file for each broker with the specific configuration for the broker - A Docker image for each broker to easy adapt in your container orchestrator.
- A script for run the docker image locally in order to test your network locally.
How it works?
Let's take an example of a duplex connection between two ActiveMQ brokers:
+----------+ +----------+
| | Duplex | |
| Broker 1 | ---<-->----<-->--- | Broker 2 |
| | | |
+----------+ +----------+
First you have to define the yaml
file with the configuration of your network:
brokers:
node1: "static:(tcp://node1:61616)"
node2: "static:(tcp://node2:61616)"
networks:
common_configuration:
set_broker_name: "false"
queue:
conduit_subscriptions: "false"
consumer_ttl: "1"
duplex: "true"
message_ttl: "-1"
physical_name: ">"
user_name: "admin"
topic:
conduit_subscriptions: "true"
consumer_ttl: "1"
duplex: "true"
message_ttl: "-1"
physical_name: ">"
user_name: "admin"
network_connector:
node1:
to:
- node2
config:
queue:
duplex: "false"
topic:
_ignore: "true"
node2:
to:
- node1
The first topic in the yaml will define the broker and your respective connection. If you intend to use docker, the address can be the broker name.
You can see a lot of examples of network of brokers in the directory templates
. In the same directory
you have an activemq.xml
file used as base also.
After create your template you can just run:
python aec.py \
--config templates/simple-duplex-config.yaml \
--activemq templates/activemq.xml \
--save-to /my/path/project
And you'll get the follow files as result:
- node1.xml
- node2.xml
Optionally if you pass a path to a Dockerfile
and a registry name, the system will create:
- run.sh
- build.sh
- Dockerfile
You can run build.sh
to build the docker images and run.sh
to run the containers in your local machine.
The docker image created can easily adapted to run on Kubernetes, Docker Swarm or ECS.
In the folder check
you can run a simple producer/consumer to check the communication.
Installing
Recommended:
pip install aec
get from source
Just clone the repository.
git clone git@github.com:byjg/activemq-easy-config
To Do
Help here is appreciate :)
- This configuration can be expanded to other features on ActiveMQ.
- K8s implementation
- Docker swarm implementation
- ECS implementation
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file aec-0.1.3-py3-none-any.whl
.
File metadata
- Download URL: aec-0.1.3-py3-none-any.whl
- Upload date:
- Size: 5.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.6.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8cae3bffe4a0659419a8e9a689705ae9bc22a4d932f58240d5f3d44630be61d3 |
|
MD5 | f07be6306033a06f41ad7fbb1700caee |
|
BLAKE2b-256 | 185b423798d2f9ce538d5fbe3927206fa5170de80aaf92b2e050fdae40f7cead |