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
  • General
  • Multicast Destinations
  • Message Pattern Format
  • Predefined Routes - Smart routes
  • Mixing Message Pattern destinations
  • Smart Route Preload Configuration

Was this helpful?

  1. Learn
  2. The Basics

Smart Routing

General

KubeMQ smart routing is In-flight and routing tables messaging feature which allows to multicast a messages to many destinations in single operation.

Multicast Destinations

RPC and Queues senders can multicast a message to many channels at once, even to a different messaging pattern. Separate each destination with a ; and specify the message pattern type with :.

Message Pattern Format

Pattern

Format

Example

Events

events:

events: events.foo.bar;events: events.foo.bar.1

Events Store

events_store:

events_store: store.foo.bar;events_store: store.foo.bar.1

Queues

queues:

queues: q1.foo.bar; queues: q2.foo.bar

Predefined Routes - Smart routes

A predefined routes rule can be set with KubeMQ Smart Routing configuration and can be used like that:

Pattern

Format

Will routes

Routes

routes: all-foo-bar

to all destinations defined by all-foo-bar route

Mixing Message Pattern destinations

Mixing message pattern destination is allowed. for example, an events sender can send a message to events_store subscriber and to a queues subscriber at the same time.

Examples

Sends From

Channel Destinations

Will routes to

Events

foo.bar;foo.bar.1;events_store: store.foo;queues: q1

events->foo.bar, events->foo.bar.1, events_store->store.foo, queues->q1

Events Store

foo.bar.store;events: bar.1;queues:q2; routes:my-route

events_store->foo.bar.store, events-> bar.1, queues -> q2, all destinations defined by my-route

Queues

q1.foo.bar;events: bar.1;events_store:store.foo.1

queues-> q1.foo.bar, events-> bar.1, events_store-> store.foo.1

Smart Route Preload Configuration

A routing rule is defined by a record with two fields:

Field

Type

Description

Key

string

unique key name for the routing rule

Routes

string

channel destinations separated by ;

Routes cannot point to another Route Key

Example:

Two routing rules:

[
   {
      "Key":"all-to-foo-bar",
      "Routes":"events:foo.bar;events_store:foo.bar;queues:foo.bar"
   },
   {
      "Key":"sink-to-events-channel",
      "Routes":"events:sink"
   }
]

The Smart Route preload configuration feature is available only on KubeMQ Enterprise Edition.

PreviousChannelsNextGrouping

Last updated 5 years ago

Was this helpful?

Register for free 30 days license .

here