Just a second...

Sharing data with remote servers

Diffusion™ offers two ways to share topic data between servers that are not in a cluster: remote topic views (newer and more flexible) and fan-out.

Remote servers versus server clusters

Diffusion can replicate topics across a cluster for high availability, but for some use cases, you need to share topic data between servers which are not in the same cluster.

For example:
  • You need to feed the same topic data to servers in multiple geographic regions, to minimise latency for end users
  • You need to share a subset of your topic data to a Diffusion server (or cluster) administered by a separate organisation
  • You need separate topic data-hosting and session-hosting clusters, allowing the session-hosting cluster to be scaled up to support more connections.
  • You need clusters separated by a firewall to share topic data.

We refer to Diffusion servers that are not part of a cluster as "remote servers".

Note: A remote server in this sense is not always physically remote: for some applications it could be in the same data center, or even on the same LAN. The important distinction is that it is not part of the same Diffusion cluster. Diffusion will efficiently transfer topic data with minimum latency and bandwidth usage even if the server is geographically remote or the network is constrained.

Remote topic views versus fan-out

Diffusion offers two ways to share topic data between servers that are not in the same cluster:
Remote topic views

Remote topic views were introduced in Diffusion 6.5. A remote topic view uses the existing topic view mechanism to map part of the topic tree from a remote server.

A remote topic view can be combined with the other capabilities of topic views, enabling sophisticated dynamic mapping and transformation of topics, as well as delayed or throttled feeds.

Remote topic views are easier to administer than fan-out, since they are configured dynamically with the API or management console and the configuration is automatically shared within a cluster, whereas fan-out requires file-based configuration.

Missing topic notifications are not propagated through a remote topic view as they are with a fan-out link.

Fan-out

Fan-out is an older mechanism used to replicate topics from a remote (or primary) server to a secondary server where the fan-out link is configured.

A fan-out link can specify one or more topic paths to replicate, making selection of topics much less flexible than with remote topic views.

Configuration of fan-out links is done by editing Server.xml, so you need to restart the server to apply changes, and in a clustered configuration you will need to edit the file on every server in a cluster to apply a change consistently.

Missing topic notifications generated by subscription requests to a secondary fan-out server can be propagated to the primary server.

For a new application, in most cases you should use remote topic views in preference to fan-out.