Channels - ZeroMQ

Overview

Used to create, update, delete and browse through ZeroMQ channels.

Each channel represents a connection through which ZeroMQ messages are received by Zato. A given service is invoked for each message received.

Creating or updating a channel (re-)establishes a connection to a ZeroMQ socket and there are as many connectors and connections to any socket as there are active channels connected to it.

For instance, if there are 5 channels to a socket, there will be 5 connector processes started in a cluster each maintaining 1 connection to the socket pointed to by the channel.

Reading messages off a socket and invoking a service is an asynchronous activity - messages are not rolled back onto sockets if there are any errors along.

../../_images/zmq.png

Create and Edit

../../_images/zmq-create.png
Header Notes
Name Channel name
Active Documented below
Address Address of a ZeroMQ socket to connect to. Must start with tcp://
Socket type Type of a socket to connect to. Either PULL or SUB.
Subscription key (Optional and ignored if socket type is not SUB) Consumer’s subscription key
Service Name of an already existing service to invoke for each ZeroMQ message received
Data format (Optional) The expected data format Zato should parse incoming messages as. This will also populate a service’s data_format attribute.

Delete

../../_images/zmq-delete.png

Stops a channel’s connector and deletes the channel from ODB.

The ‘Active’ flag

If a channel is made inactive, its underlying ZeroMQ connection will be stopped but the connector itself will be still running.