Just a second...

Topic replication

You can use topic replication to ensure that the structure of the topic tree, topic definitions, and topic data are synchronized between servers.

Figure 1. Topic replication Servers that have topic replication enabled for a section of the topic tree have identical topic information for that section of the topic tree. A new topic is created on one server. Topic replication ensures that an identical topic is created on the other servers.
  1. Servers with topic replication enabled for a section of the topic tree share information about that section of the topic tree through the datagrid. The topic information and topic data are synchronized on all the servers.
  2. A new topic is created on one server in the replicated section of the topic tree.
  3. The new topic is replicated on the other servers with identical topic information. When its topic data is updated on the first server, that data is replicated on the other servers.


Consider the following factors when using topic replication:
  • Avoid registering a large number of update sources. Do not design your solution so that each topic has its own exclusive update source. This will cause performance problems when starting new servers and joining them to existing clusters, due to the overhead of sharing the update source registrations.
  • Only publishing topics can be replicated.
  • Replication is not supported for routing topics.
  • Any topic that is part of a replicated branch of the topic tree and is not one of the supported types of topic is not replicated. Instead that topic path remains unbound.
  • Only topic-wide messages are replicated. Messages sent to a single client or to all clients except one are not replicated.
  • Replication of topic information into the datagrid is not automatic. It must be configured at the server. This gives a performance advantage, as you can choose which parts of your topic tree to replicate.
  • Updates to a particular topic will always be delivered to all subscribers in the same order. However, delivery order is not guaranteed across different topics. For example, if you update topic 1 then topic 2, some subscribers might receive the update to topic 2 before the update to topic 1.
  • Replication of topic data can impact performance.
  • Avoid registering requests for topic removal on client session close against replicated topics. When a replicated topic is removed from a server as a result of a client session closing, it is removed from all other servers that replicate that topic. For more information, see .