Deployment Scenarios
The primary deployment scenarios for Solace PubSub+ Messaging API for OpenMAMA are:
The figures in this section only provide details for a single site. However, the same collection of elements (publishers, subscribers, and optionally Solace Cache Instances) will be present at all sites across the WAN, and the event brokers will be inter-connected through multi‑node routing. In addition, there will commonly be a high-availability (HA) redundant pair of event brokers for each site, although only one event broker is shown.
Deploying Only With Interactive Publishers
In this scenario, the event broker facilitates a message exchange pattern where interactive publishers provide subscribers both initial value and real-time data on the symbols they are responsible for. That is, as shown in the figure below, the event broker effectively fans out market data updates from publishers to subscribers based on their topic subscriptions. Solace Cache is not used in this scenario.
When an OpenMAMA client application creates OpenMAMA transports to establish connections to an event broker, the event broker authenticates the client based on its offered credentials and authorizes the client’s access to the event broker and which topics it is permitted to publish and subscribe to.
After successfully connecting to the event broker, the client application can then subscribe to those topics (that is, symbols) it is entitled to access. Initial values are fetched and then updates will follow to fulfill their subscriptions.
Client applications can also publish messages to the specific topics that they are granted access to.
The SolaceMiddleware Bridge relies on Request/Reply functions from the Solace Messaging API for C to fetch a initial image and then start receiving updates on the symbol.
A connecting client application can either opt to not use any data dictionary or obtain the required OpenMAMA data dictionaries in one of the following ways:
- load data dictionaries from a local file
- use the OpenMAMA API functions to request the latest data dictionaries from an interactive publisher
PubSub+ OpenMAMA API Deployment Only with Interactive Publisher
Deploying With Data Caching
In this scenario, the Solace Cache facility is used as a broker to which subscribers can request initial value for specific symbols.
As shown in below, with Solace Cache implemented, publishers send initial values and real-time data to the event broker, which distributes the data to all the Solace Cache Instances in the Cache Cluster that they belong to. When a subscriber is interested in getting an initial value, it sends a cache request to a Distributed Cache, Cache Cluster, or Solace Cache Instance (typically the Cache Cluster), and one Solace Cache Instance will provide the subscriber with the requested data.
Solace PubSub+ Messaging API for OpenMAMA Deployment With Solace Cache Instances