Awesome
Hermes
Hermes is an asynchronous message broker built on top of Kafka. We provide reliable, fault tolerant REST interface for message publishing and adaptive push mechanisms for message sending.
See our 10-minute getting started guide with Docker: Getting started
Visit our page: hermes.allegro.tech
See our full documentation: http://hermes-pubsub.readthedocs.org/en/latest/
If you have any question or idea regarding the project, please feel free to reach us out using GitHub discussions.
License
hermes is published under Apache License 2.0.
Development
Code formatting
For code formatting we use google-java-format. Following steps are required for optimal dev experience in IJ:
- Download google-java-format plugin
- Set custom VM options required for IJ plugin
- Go to
Settings > google-java-format
and clickEnable google java-format
(should be checked by default) - Go to
Settings > Tools > Actions on Save
and enableReformat code
andOptimize imports
for Java files
Each save should automatically trigger reformat.
If you want to debug the CLI check on macOS:
wget https://github.com/google/google-java-format/releases/download/v1.23.0/google-java-format_darwin-arm64
chmod a+x google-java-format_darwin-arm64
chmod a+x .github/scripts/check-google-java-format.sh
./.github/scripts/check-google-java-format.sh
or if you are on Linux:
wget https://github.com/google/google-java-format/releases/download/v1.23.0/google-java-format_linux-x86-64
chmod a+x google-java-format_linux-x86-64
chmod a+x .github/scripts/check-google-java-format.sh
./.github/scripts/check-google-java-format.sh
You can also run the following command to fix formatting for the whole project:
./.github/scripts/check-google-java-format.sh --fix