Apache TubeMQ(incubating) is a trillion-records-scale distributed messaging queue (MQ) system, focuses on data transmission and storage under massive data. Compared to many open source MQ projects, TubeMQ has unique advantages in terms of stability, performance, and low cost.
It offers a variety of features:
- Pluggable transport protocols, such as TCP, SSL
- Support big-data and streaming ecosystem integration
- Message retroactivity by time or offset
- Efficient pull and push consumption model
- Flexible distributed scale-out deployment architecture
- Feature-rich administrative dashboard for configuration
- Authentication and authorization
-
Mailing lists
Name Scope [email protected] Development-related discussions Subscribe Unsubscribe Archives -
Home page: https://tubemq.apache.org
We always welcome new contributions, whether for trivial cleanups, new features or other material rewards, more details see here.
- Java 1.8
- Maven 3.3+
- Compile and Package:
mvn clean package -DskipTests
- (Optional) Build Using Docker:
docker run -v REPLACE_WITH_SOURCE_PATH:/tubemq apachetubemq/tubemq-build clean package -DskipTests
- Run Unit Tests:
mvn test
- Build Individual Module:
mvn clean install
cd module-name (e.g. tubemq-client)
mvn test
After the build, please go to tubemq-server/target
. You can find the
tubemq-server-[TUBEMQ-VERSION]-bin.tar.gz file. It is the TubeMQ deployment package, which includes
scripts, configuration files, dependency jars and web GUI code.
If you want to build and debug source code in IDE, go to the project root, and run
mvn compile
This command will generate the Java source files from the protoc
files, the generated files located in target/generated-sources
.
(Optional) If you want to use local protoc
executable, you can change the configuration of protobuf-maven-plugin
in tubemq-core/pom.xml
as below
<configuration>
<outputDirectory>${project.build.directory}/generated-sources/java</outputDirectory>
<protocExecutable>/usr/local/bin/protoc</protocExecutable>
</configuration>
Standalone mode starts zookeeper/master/broker services in one docker container:
docker run -p 8080:8080 -p 8000:8000 -p 8123:8123 --name tubemq -d apachetubemq/tubemq-all:latest
After container is running, you can access http://127.0.0.1:8080
, and reference to next Quick Start
chapter for experience.
Tips: Standalone Mode is only available for development and experience, it's not designed for production environment.
For the detail deployment and configuration of TubeMQ cluster nodes, please refer to the introduction of Deploy TubeMQ Cluster.
© Contributors Licensed under an Apache-2.0 license.