Sign inSign up

technicalguru/eventbroker

By technicalguru

•Updated over 6 years ago

An MQTT-alike event broker to enable losely coupled microservices being synchronized

Image
1

604

technicalguru/eventbroker repository overview

⁠What is EventBroker?

EventBroker is a MQTT-alike message broker that enables losely coupled microservices. The broker connects to a JDBC data source in order to configure the messaging rules.

⁠Features

  • Clients can publish MQTT-like topics and subscribe to them using wildcards
  • API protection via Authorization Bearer token (see Issues below)
  • Provides cron-like topics in order to trigger subscribers regulary
  • Fail-safe and threaded topic distribution (subscribers can fail or not be available at all)

⁠License

EventBroker is licensed under GNU LGPL 3.0⁠.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

⁠Usage

Issue the following command to run EventBroker in your Docker environment:

docker run -ti technicalguru/eventbroker  

This will run EventBroker on port 80 with a HSQLDB as storage backend. Several features can be configured:

  • Set environment variable EB_DB_CONFIG to use your own database backend. See examples at GitHub⁠. Do not forget to mount your config XML file into the docker container.
  • Set the listening port by running the command /var/www/jersey/run.sh <port>.
  • Set the specific listening interface by running the command /var/www/jersey/run.sh <port> <ip-address>
  • Set environment variable EB_SECURE_TOKEN to a specific string in order to protect your API by a Bearer token.

⁠Documentation

More documentation is available at GitHub⁠.

⁠Issues

  • MQTT feature qos, retain and dup are not processed - just forwarded.
  • API authorization imitates OAuth token by checking the token against a fix environment variable. This token can not be limited to certain topics, clients or privileges (see EB-4⁠).
  • Shutdown can take up to 60 secs.
  • Only HTTP is supported.
  • Cron-feature not yet documented (see EB-3⁠). Refer to the source code⁠ meanwhile.
  • The database structure is not yet documented (see EB-5⁠). Please refer to Hibernate configuration⁠ and Subscriber source code⁠ meanwhile.

⁠Contribution

Report a bug or request an enhancement at the JIRA Issue Tracker⁠.

Tag summary

Content type

Image

Digest

Size

255.2 MB

Last updated

over 6 years ago

docker pull technicalguru/eventbroker