跳到主要内容

部署场景

SolOpenMAMA 的主要部署场景包括:

  • 仅使用交互式发布者进行部署
  • 使用数据缓存进行部署

本节中的图表仅提供单个站点的详细信息。然而,相同的元素集合(发布者、订阅者,以及可选的 PubSub+ 缓存实例)将出现在广域网的所有站点上,并且事件代理将通过多节点路由相互连接。此外,通常每个站点都有一个高可用性(HA)冗余对的事件代理,尽管这里只显示了一个事件代理。

仅使用交互式发布者进行部署

在此场景中,事件代理促进了一种消息交换模式,其中交互式发布者为订阅者提供它们负责的符号的初始值和实时数据。也就是说,如下面的图所示,事件代理有效地根据订阅者的主题订阅,将市场数据更新从发布者扇形分发到订阅者。在此场景中不使用 PubSub+ 缓存。

当 OpenMAMA 客户端应用程序创建 OpenMAMA 传输以建立与事件代理的连接时,事件代理根据客户端提供的凭据对客户端进行身份验证,并授权客户端访问事件代理以及其被允许发布和订阅的主题。

成功连接到事件代理后,客户端应用程序可以订阅其有权访问的那些主题(即,符号)。获取初始值,然后将更新紧随其后以满足它们的订阅。

客户端应用程序也可以发布消息到它们被授权访问的特定主题。

Solace 中间件桥接依赖于 Solace C API 请求/回复功能来获取初始图像,然后开始接收符号的更新。

连接的客户端应用程序可以选择不使用任何数据字典,或者通过以下方式之一获取所需的 OpenMAMA 数据字典:

  • 从本地文件加载数据字典
  • 使用 OpenMAMA API 函数从交互式发布者请求最新的数据字典

仅使用交互式发布者的 SolOpenMAMA 部署

img

使用数据缓存进行部署

在此场景中,PubSub+ 缓存设施被用作一个代理,订阅者可以向其请求特定符号的初始值。

如下面所示,实现 PubSub+ 缓存后,发布者将初始值和实时数据发送到事件代理,事件代理将数据分发给它们所属的缓存集群中的所有 PubSub+ 缓存实例。当订阅者对获取初始值感兴趣时,它向分布式缓存、缓存集群或 PubSub+ 缓存实例(通常是缓存集群)发送缓存请求,一个 PubSub+ 缓存实例将为订阅者提供请求的数据。

使用 PubSub+ 缓存实例的 SolOpenMAMA 部署

img