KubeMQ Docs
KubeMQ.ioLogin / Register
  • Introduction
  • What's New
  • Getting Started
    • Quick Start
    • Build & Deploy
    • Create Cluster
      • Build & Deploy
      • Helm
      • Openshift
    • Create Connector
      • Build & Deploy
      • Helm
      • Openshift
    • Message Patterns
      • Queues
      • Pub/Sub
      • RPC
  • Learn
    • The Basics
      • Channels
      • Smart Routing
      • Grouping
    • Message Patterns
      • Queues
      • Pub/Sub
      • RPC
    • Access Control
      • Authentication
      • Authorization
      • Notifications
    • Clustering and HA
    • Connectors
      • KubeMQ Targets
      • KubeMQ Sources
      • KubeMQ Bridges
  • Configuration
    • Cluster
      • Set Cluster Name
      • Set Cluster Namespace
      • Set Persistent Volume
      • Set Cluster Replicas
      • Set Cluster Image
      • Set Cluster Security
      • Set Authentication
      • Set Authorization
      • Set Notification
      • Set License
      • Set gRPC Interface
      • Set Rest Interface
      • Set Api Interface
      • Set Store Settings
      • Set Queues Settings
      • Set Routing
      • Set Health Probe
      • Set Resources Limits
      • Set Logs
      • Set Node Selectors
    • Connectors
      • KubeMQ Targets
        • Standalone
          • Redis
          • Memcached
          • Postgres
          • Mysql
          • MSSql
          • Percona
          • Aerospike
          • ReThinkDB
          • MongoDB
          • Elastic Search
          • Cassandra
          • Couchbase
          • CockroachDB
          • Kafka
          • Nats
          • MQTT
          • ActiveMQ
          • IBM-MQ
          • Minio/S3
          • OpenFaas
          • HTTP
        • AWS
          • Athena
          • DynamoDB
          • Elastic Search
          • KeySpaces
          • MariaDB
          • MSSql
          • MySQL
          • Postgres
          • RedShift
          • RedShift Service
          • AmazonMQ
          • MSK
          • Kinesis
          • SQS
          • SNS
          • S3
          • Lambda
          • CloudWatch Logs
          • CloudWatch Events
          • CloudWatch Metrics
        • GCP
          • Redis
          • Memcached
          • Postgres
          • Mysql
          • BigQuery
          • BigTable
          • Firestore
          • Spanner
          • Firebase
          • Pub/Sub
          • Storage
          • Functions
        • Azure
          • Azure SQL
          • Mysql
          • Postgres
          • Blob
          • Files
          • Queue
          • Events Hub
          • Service Bus
        • Sources
          • Queue
          • Events
          • Events Store
          • Command
          • Query
      • KubeMQ Sources
        • HTTP
        • Messaging
          • Kafka
          • RabbitMQ
          • MQTT
          • ActiveMQ
          • IBM-MQ
          • Nats
        • AWS
          • AmazonMQ
          • MSK
          • SQS
        • GCP
          • Pub/Sub
        • Azure
          • EventHubs
          • ServiceBus
        • Targets
          • Queue
          • Events
          • Events Store
          • Command
          • Query
      • KubeMQ Bridges
        • Targets
          • Queue
          • Events
          • Events Store
          • Command
          • Query
        • Sources
          • Queue
          • Events
          • Events Store
          • Command
          • Query
    • Docker
  • HOW TO
    • Connect Your Cluster
    • Show Dashboard
    • Get Cluster Status
    • Get Cluster Logs
  • SDK
    • Java
    • Java (Springboot)
    • C# (.NET)
    • Go
    • Python
    • Node
    • Rest
  • Troubleshooting
    • Start Here
  • License
    • Open Source Software Notices
Powered by GitBook
On this page
  • What is KubeMQ?
  • Main Features
  • Kubernetes Ready
  • Messaging Patterns
  • Queues
  • Pub/Sub
  • RPC
  • Interfaces
  • SDK
  • Getting Started
  • Get Enterprise Trial License
  • Request a Demo

Was this helpful?

Introduction

What is KubeMQ?

1 KubeMQ is a Kubernetes Message Queue Broker.

Enterprise-grade message broker and message queue, scalable, high available and secured. A Kubernetes native solution in a lightweight container, deployed in just one minute.

Main Features

  • All-batteries included Messaging Queue Broker for Kubernetes environment

  • Deployed with Operator for full life cycle operation

  • Blazing fast (written in Go), small and lightweight Docker container

  • Asynchronous and Synchronous messaging with support for At Most Once Delivery and At Least Once Delivery models

  • Supports durable FIFO based Queue, Publish-Subscribe Events, Publish-Subscribe with Persistence (Events Store), RPC Command and Query messaging patterns

  • Supports gRPC, Rest and WebSocket Transport protocols with TLS support (both RPC and Stream modes)

  • Supports Access control Authorization and Authentication

  • Supports message masticating and smart routing

  • No Message broker configuration needed (i.e., queues, exchanges)

  • .Net, Java, Python, Go and NodeJS SDKs

  • Monitoring Dashboard

Kubernetes Ready

  • Kubernetes - KubeMQ can be deployed on any Kubernetes cluster as stateful set.

Messaging Patterns

Queues

KubeMQ supports distributed durable FIFO based queues with the following core features:

  • Guaranteed Delivery - At-least-once delivery and most messages are delivered exactly once.

  • Single and Batch Messages Send and Receive - Single and multiple messages in one call

  • RPC and Stream Flows - RPC flow allows an insert and pull messages in one call. Stream flow allows single message consuming in transactional way

  • Message Policy - Each message can be configured with expiration and delay timers. In addition, each message can specify a dead-letter queue for unprocessed messages attempts

  • Long Polling - Consumers can wait until a message available in the queue to consume

  • Peak Messages - Consumers can peek into a queue without removing them from the queue

  • Ack All Queue Messages - Any client can mark all the messages in a queue as discarded and will not be available anymore to consume

  • Visibility timers - Consumers can pull a message from the queue and set a timer which will cause the message not be visible to other consumers. This timer can be extended as needed.

  • Resend Messages - Consumers can send back a message they pulled to a new queue or send a modified message to the same queue for further processing.

Pub/Sub

KubeMQ supports Publish-Subscribe (a.k.a Pub/Sub) messages patterns with the following core features:

  • Events - An asynchronous real-time Pub/Sub pattern.

  • Events Store -An asynchronous Pub/Sub pattern with persistence.

  • Grouping - Load balancing of events between subscribers

RPC

KubeMQ supports CQRS based RPC flows with the following core features:

  • Commands - A synchronous two ways Command pattern for CQRS types of system architecture.

  • Query - A synchronous two ways Query pattern for CQRS types of system architecture.

  • Response - An answer for a Query type RPC call

  • Timeout - Timeout interval is set for each RPC call. Once no response is received within the Timeout interval, RPC call return an error

  • Grouping - Load balancing of RPC calls between receivers

  • Caching - RPC response can be cached for future requests without the need to process again by a receiver

Interfaces

  • gRPC - High performance RPC and streaming framework that can run in any environment, Open source and Cloud Native.

  • Rest - Restful Api with WebSocket support for bi-directional streaming.

SDK

  • C# - C# SDK based on gRPC

  • Java - Java SDK based on gRPC

  • Go - Go SDK based on gRPC

  • Python - Python SDK based on gRPC

  • cURL - cURL SDK based on Rest

  • Node - Node SDK based on gRPC and Rest

  • PHP - PHP SDK based on Rest

  • Ruby - Ruby SDK based on Rest

  • jQuery jQuery SDK based Rest

Getting Started

Get Enterprise Trial License

Request a Demo

NextWhat's New

Last updated 8 months ago

Was this helpful?

MicroK8s -

K3s -

Canonical's MicroK8s
Rancher's
Start with OpenShift
Contact us
See KubeMQ in Action