Common Use Cases
KubeMQ supports diversified messaging patterns, enabling flexibility in creating different Kubernetes messaging use cases. Here are some of the common use cases that KubeMQ supports.
Multistage Pipeline
The Synchronous pattern used when there is a need to process the messages in a coordinated way in a workflow. Pipeline use case allows processing messages in a sequence between services. Each service can be considered as a stage, and the message passed between all the stages in a sequence. In some cases where the message is lost or cannot be processed (for any reason), the dead-letter queue mechanism takes the message and process it in a pre-defined way.
Tasks Queue
The A-Synchronic pattern used, with some producers to many consumers, when there is a need to distribute tasks/jobs between workers. In this use-case, there is no need to coordinate between tasks. Each service is pulling messages from the queue to process it. The sequence of processing the messages is not important as each worker takes the task from the queue and process it in his own time.
Pub/Sub Stream
The A-Synchronic pattern used when there is a need to stream data from many external sources (big data, IoT) and process it in a dedicated service such as database, pipeline, machine learning, storage, etc. This case typically aggregates many producers to a small number of consumers. The order of messages is not important, but the delivery guarantee is important.