Comment on page
Channels
KubeMQ Channel (Topic/Subject/Address/Destination) is a string-based representation of an endpoint or a target of a message.
The core functionality of KubeMQ messaging is sending and receiving messages.
Senders (publishers) can send one or many messages (stream) to one or many destinations (Channels). Sending a message does not require the set up of any predefined destination.
Receiver (subscribers/listeners) can receive messages from one or more senders on the same channel or a wildcards channel. Before a Receiver can receive any messages, a Subscription function is needed to register his interest in receiving messages from a senders designation.
A channel string can be formed from any UTF-8 characters with the following attributes:
- Case sensitive, FOO and foo are different channel names
- No white spaces allowed
- Cannot be Blank (
"
) .
,*
,>
are special characters for token hierarchies.- Cannot start with
.
- Can begin with
>
or*
(for subscription receivers only) - Unlimited hierarchies
Channels names can be separated by the
.
symbol to create messaging stream hierarchies.One level hierarchy:
foo
, USA
, org
are valid one level hierarchies.Two-level hierarchies:
foo.bar
, USA.NewYork
, org.department
are valid two-level hierarchies.N level hierarchies:
foo.bar.A.B.C.>
is valid n (n=6) level hierarchies.KubeMQ supports two wildcards,
*
and >
. Wildcards are used to subscribe to a group of channels’strings.Matching a single token in any hierarchy
Matching one or more tokens at the tail of a channel
Examples:
Here some cases of channel subscription patterns and which types of messages with channels are accepted and ignored.
Channel Pattern | Messages Accepted | Messages Ignored | |
foo | foo | bar ,zoo | |
foo.* | foo.bar ,foo.ZOO | foo ,foo.bar.zoo | |
foo.> | foo.bar.zoo | foo | |
foo.*.*.bar | foo.a.b.bar | foo.bar.zoo | |
foo*.> | foo.bar ,foo1.bar` | foo\ | |
> | any message | none | |

Last modified 3yr ago