FTL Channels

An FTL channel provides publish-subscribe messaging among eFTL applications, and between eFTL applications and FTL applications.

Each FTL channel has an application-facing endpoint, which is its interface to the FTL messaging infrastructure. The channel uses this endpoint to forward messages to and from FTL application processes, including other eFTL servers within a cluster.

Administrators can implement each channel’s application-facing endpoint with transports, which tie it to the FTL infrastructure.

In the diagram, channels A and F are FTL channels.

Messages from eFTL Publishers

When PubA1 sends a message, the server forwards it in two ways. Red arrows indicate forwarding within the eFTL side to all the other eFTL subscribers on channel A. The purple arrow within channel A indicates forwarding into the FTL side.

Messages from FTL Publishers

In the opposite direction, the blue arrow indicates forwarding into the eFTL side on channel F. When PubF2 sends a message, channel F forwards the message to all its eFTL subscribers.

However, channel F does not forward the message downward again over any transports attached to its application-facing endpoint: that responsibility belongs to transports within the FTL application infrastructure. SubF2 receives the message only if an FTL transport carries messages from PubF2 to SubF2. In this example, the orange ellipse indicates a dynamic TCP transport implementing the application-facing endpoint of channel F, and PubF2 and SubF2 both share that transport. The white arrow indicates that the shared transport carries the message to SubF2.

Isolation

Administrators can use separate channels to isolate message streams from one another. When FTL transports are properly configured, messages in channel A remain within channel A. Similarly for channel F, and all the other channels. Each channel gives rise to a separate message network. The diagram shows channel A’s network in green, and channel F’s network in yellow.

Nonetheless, if you configure FTL transports that carry messages between the application-facing endpoints of two channels, you can create opportunities for crosstalk between their message streams.

Types of Forwarding

Although the diagram specifically highlights particular types of forwarding for channels A and F, every FTL channel is capable of all three types of forwarding. That is, channel A can forward into the eFTL side, even though the diagram does not indicate this path. Similarly, channel F can forward within the eFTL side and into the FTL side, even though the diagram does not indicate these paths.

Related concepts