RabbitMQ Single Active Consumer Kubernetes Operator
NOTE: This software is provided in an alpha state, as a preview of upcoming RabbitMQ features,
and as such provides no guarantees of stability.
This Kubernetes operator serves as an automated orchestration layer to create a single-active-consumer topology
on a RabbitMQ Cluster with SuperStreams. In this topology, a single SuperStream can be partitioned into smaller
partition streams; the purpose of this operator is to ensure that for each partition, exactly one application Pod
is consuming from the partition stream at any given time.
Quickstart
Before deploying the Single Active Consumer Operator, you need to have:
- A Running k8s cluster
- RabbitMQ Cluster Operator installed in the k8s cluster
- RabbitMQ Messaging Topology Operator installed in the k8s cluster
- Cert-manager installed in the k8s cluster
- A RabbitMQ cluster deployed using the Cluster Operator,
running RabbitMQ 3.9 and with the streams plugin enabled
Assuming you have kubectl
configured to access your running k8s cluster, you can then run the following command to install the Single Active Consumer Topology Operator:
kubectl apply -f https://github.com/rabbitmq/single-active-consumer-operator/releases/latest/download/single-active-consumer-operator-with-certmanager.yaml
Documentation
A documented example of using this topology can be found in the examples directory.
Contributing
This project follows the typical GitHub pull request model. Before starting any work, please either comment on an existing issue, or file a new one.
Please read contribution guidelines if you are interested in contributing to this project.
License
Licensed under the MPL, same as RabbitMQ server and operators.
Copyright
Copyright 2022 VMware, Inc. All Rights Reserved.