KubeMQ Bridges
KubeMQ Bridges bridge, replicate, aggregate, and transform messages between KubeMQ clusters no matter where they are, allowing to build a true cloud-native messaging single network running globally.
Key Features:
Runs anywhere - Kubernetes, Cloud, on-prem, anywhere
Stand-alone - small docker container/binary
Build Any Topology - connects KubeMQ clusters in 1:1, 1:n , n:1, n:n
Middleware Supports - Logs, Metrics, Retries, and Rate Limiters
Easy Configuration - simple yaml file builds your topology
An example of a use case:

Concept
KubeMQ Bridges' concept is bridging between sources and targets, thus Bindings.
Binding can be any source kinds to any target kinds, as shown below:

KubeMQ Bridges can support any binding topology :
Topology
Description
Sources-Targets
Bridge
a 1:1 connectivity mainly for sync type of messages
one source to 1 target
Replicate
a 1:n connectivity allowing replicating messages between clusters
one source to n targets
Aggregate
an n:1 connectivity allowing aggregating streams fo messages from clusters to a single target
n source to 1 target
Transform
an n:n mix and match sources and targets in many to many topology
n sources to n targets
Bridge

Replicate

Aggregate

Transform

Middlewares
In bindings configuration, KubeMQ Bridges supports middleware setting for each pair of source and target bindings.
These properties contain middleware information settings as follows:
Logs Middleware
KubeMQ Bridges supports level based logging to console according to as follows:
Property
Description
Possible Values
log_level
log level setting
"debug","info","error"
"" - indicate no logging on this binding
An example for only error level log to console:
bindings:
- name: sample-binding
properties:
log_level: error
sources:
......
Retry Middleware
KubeMQ Bridges supports Retries' target execution before reporting of error back to the source on failed execution.
Retry middleware settings values:
Property
Description
Possible Values
retry_attempts
how many retries before giving up on target execution
default - 1, or any int number
retry_delay_milliseconds
how long to wait between retries in milliseconds
default - 100ms or any int number
retry_max_jitter_milliseconds
max delay jitter between retries
default - 100ms or any int number
retry_delay_type
type of retry delay
"back-off" - delay increase on each attempt
"fixed" - fixed time delay
"random" - random time delay
An example of 3 retries with back-off strategy:
bindings:
- name: sample-binding
properties:
retry_attempts: 3
retry_delay_milliseconds: 1000
retry_max_jitter_milliseconds: 100
retry_delay_type: "back-off"
sources:
......
Rate Limiter Middleware
KubeMQ Sources support a Rate Limiting of target executions.
Rate Limiter middleware settings values:
Property
Description
Possible Values
rate_per_second
how many executions per second will be allowed
0 - no limitation
1 - n integer times per second
An example for 100 executions per second:
bindings:
- name: sample-binding
properties:
rate_per_second: 100
source:
......
Last updated
Was this helpful?