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.

Pub/Sub Real-time

The A-Synchronic pattern is suitable for cases of a small number of producers sending real-time data to many consumers. A service acting as a publisher sends a message to a channel where a set of services subscribe to that channel and get the messages.

Microservices

Connectivity between services such as edge, API, databases, storage act like a router, and message order is not important; timeout and sync between producers and consumers are important.

Send a Message