Understanding channels
eventcatalog@2.13.0In EventCatalog a channel represents the organization and transmission of messages.
Channels in EventCatalog describe how a messages transport between producers and consumers. You can use the channels resource to help your team understand how your messages are transported.
Channels are resources in EventCatalog that you can define in a /channels directory.
The channel directory can be defined anywhere in your EventCatalog or you can have many channel directories in your EventCatalog.
Example of a channels are visualized in EventCatalog
Here is an example of the Orders Service publishing an event Order amended over a Kafka channel.

Routing messages through multiple channels
eventcatalog@2.55.0In some cases you may want to model how messages are routed through multiple channels, you can do this using channel routes.
In the example below:
- The Payment Service publishes a
PaymentProcessedevent over thePaymentEventschannel. - The Billing Service subscribes to the
PaymentProcessedevent through thePaymentEventschannel. - The Fraud Detection Service subscribes to the
PaymentProcessedevent through theFraud Dection Queuewhich is pulling from thePaymentEventschannel (chained channels)
PaymentEvents channel?This is just an example, but a channel can be any protocol you like. For example if you are using Kafka then this channel could be a Kafka topic. Or if you are using an Event Bus this channel could be your bus, queue or topic.
You can model as many channels as you like, and you can route messages through multiple channels.

Supported Channel Protocols
EventCatalog is technology agnostic, so can work with any protocol.
Using channels you can define the protocol used, this can be one or many protocols.
Here is a list of protocols that are supported by EventCatalog (with icons)
- amqp
- azure-event-hubs
- Added in EventCatalog 2.37.4
- azure-service-bus
- Added in EventCatalog 2.37.4
- azure-eventgrid
- Added in EventCatalog 2.37.4
- eventbridge
- googlepubsub
- grpc
- http
- jms
- kafka
- kinesis
- mercure
- mqtt
- nats
- pulsar
- redis
- sns
- solace
- sqs
- tibco-ftl
- Added in EventCatalog 2.37.4
- tibco-rv
- Added in EventCatalog 2.37.4
- ws
- webrtc
- Added in EventCatalog 2.55.1
- zmq
If you are using a protocol that is not on this list, please raise on issue on GitHub so we can get the icon supported.