Direct-Path Requirement and Merging

This example returns for a closer look at two aspects of persistence stores: the direct-path requirement of standard durables, and the merging of publisher streams into one message stream.

Network of Endpoints and Direct Paths

The preceding diagram depicts a network of endpoints.

  • Network D consists of endpoints EP30 through EP33, connected by direct-path transports.
  • Store4 backs network D. That is, it backs all the direct-path transports.
  • Actually, network D is not more topologically complex than network A in the earlier diagram Store Backs a Transport. Rather, we have drawn more detail to highlight the direct paths, and the merging of publisher message streams.

Direct-Path Requirement

Focus on the direct-path transports in the diagram:

  • A direct-path transport connects every publishing endpoint to every subscribing endpoint.
  • A store with standard durables cannot be the only path between a pair of endpoints. The store can parallel a direct path, but does not serve as a direct path.

Merging within a Network of Endpoints

Now focus on the publisher message streams in the diagram:

  • Each direct path flowing from EP30 merges message streams from potentially many publishers in the potentially many program processes that publish on EP30. When a message arrives at a subscriber, it does not include information that identifies the publisher nor the publishing program.
  • Similarly, Store4 merges the message streams from publishing endpoints EP30 and EP31. When message arrives at Store4, it does not include information that identifies the publishing endpoint.
  • Although this example uses standard durables, merging would be identical if the store used shared durables.