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.
- 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".
Remote topic views versus fan-out
- 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.