Skip to content

mazxaxz/BroadcastMQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Stargazers Issues Apache-2.0 License


Logo

BroadcastMQ

A lightweight app for Broadcasting events across your Brokers!

Dockerhub · Report a bug · Request feature

Table of Contents

About The Project

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.

Built With

Getting Started

If you want to run BroadcastMQ locally, Docker is a must.
Having docker installed, you can just: docker pull mazxaxz/broadcast-mq:latest

Prerequisites

Installation

$ 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

Configuration

  • 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

Usage

Example using docker-compose can be seen here

Steps:

  1. git clone https://github.com/mazxaxz/BroadcastMQ.git
  2. docker-compose -f ./examples/docker-compose.resources.yaml up
  3. Go to localhost:25673 and create topic MQ.Topic.Source.Exchange exchange
  4. docker-compose -f ./examples/docker-compose.app.yaml up --build
  5. Go to localhost:25673 and publish message onto MQ.Topic.Source.Exchange exchange with MQ.RoutingKey routing key
  6. Go to localhost:35673
  7. If MQ.Queue.Destination.Example.1 queue contains the message you have published earlier, it means BroadcastMQ is working

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the Apache-2.0 License. See LICENSE for more information.

Contact

Adrian Ciura - @mazxaxz

Project Link: github.com/mazxaxz/BroadcastMQ

Dockerhub: hub.docker.com/r/mazxaxz/broadcast-mq

Acknowledgements