A lightweight app for Broadcasting events across your Brokers!
Dockerhub
·
Report a bug
·
Request feature
It is a simple lightweight application for broadcasting messages across multiple message brokers based on your configuration. It can be hosted anywhere since it is contenerized. Just configure and you are good to go.
Why did I created this?
Many of you might have experienced a situation, where your application consumes tons of messages every second on the production environment, right?
How about other environments? Is your application exhausted with amount of events or maybe it's bored as hell?
I have created BroadcastMQ to solve the lack of events on the than production environments.
Why there are multiple development environments, when there is no actual data. Everything we build is data oriented.
Of course, if your application consumes sensitive data I would not recommend using it, because of the security things etc.
- Golang
- Docker
- Streadway/amqp
- Sirupsen/logrus
- Kelseyhightower/envconfig
- Guiferpa/gody
- Segmentio/ksuid
If you want to run BroadcastMQ locally, Docker is a must.
Having docker installed, you can just: docker pull mazxaxz/broadcast-mq:latest
- docker Get docker
$ docker pull mazxaxz/broadcast-mq:latest
$ docker run --rm -p 9090:8080 \
-v /foo/bar/config.yaml:/foo/config.yaml \
-e "BMQ_CONFIGPATH=/foo/config.yaml" \
--name bmq mazxaxz/broadcast-mq:latest
- environment variables
BMQ_CONFIGPATH=<path> default:/etc/broadcastmq/config.yaml
BMQ_LOGLEVEL=(trace|debug|info|warn|error|fatal|panic) default:info
BMQ_OUTPUTTYPE=(text|json) default:text
- config file
Configuration possibilities are provided in
examples/config.yaml
file here
Example using docker-compose can be seen here
Steps:
git clone https://github.com/mazxaxz/BroadcastMQ.git
docker-compose -f ./examples/docker-compose.resources.yaml up
- Go to
localhost:25673
and create topicMQ.Topic.Source.Exchange
exchange docker-compose -f ./examples/docker-compose.app.yaml up --build
- Go to
localhost:25673
and publish message ontoMQ.Topic.Source.Exchange
exchange withMQ.RoutingKey
routing key - Go to
localhost:35673
- If
MQ.Queue.Destination.Example.1
queue contains the message you have published earlier, it means BroadcastMQ is working
See the open issues for a list of proposed features (and known issues).
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the Apache-2.0 License. See LICENSE
for more information.
Adrian Ciura - @mazxaxz
Project Link: github.com/mazxaxz/BroadcastMQ
Dockerhub: hub.docker.com/r/mazxaxz/broadcast-mq