跳到主要内容

多协议集成

Solace PubSub+ 事件代理的一个关键角色是充当多协议消息总线,允许各种不同的应用程序进行通信。REST 消息传递是事件代理支持的众多消息传递协议之一。然而,为了执行高速主题路由和保证消息传递,事件代理将所有消息转换为 SMF,这是事件代理在处理消息时内部使用的格式。

与 Java 消息服务(JMS)API 和其他 Solace API 一样,REST 消息传递允许用户创建功能齐全的消息。下图和描述提供了 REST 消息传递 HTTP POST 请求、内部 SMF 格式和标准 JMS 消息之间映射的概述。有关如何使用 HTTP 编码 REST 消息的详细信息,请参阅 REST 消息传递协议。

img

HTTP POST 的请求 URI 包含消息的目标目的地和目的地类型。这些被映射到 SMF 标头中,并且在 JMS API 消息标头中也可用。

通常,HTTP POST 还会包含 HTTP 标头字段,这些字段为消息添加了更多属性。例如,可以在这里指定请求/回复的回复等待时间,或者如何传达内容类型和编码。如果事件代理需要这些消息属性,它们将被携带在 SMF 消息标头中。如果它们与端到端消息传递相关,则作为消息属性携带。在 JMS 中,这些属性作为遵循 JMS API 支持的约定的自定义 Solace JMS 扩展属性可用。

消息还可以包含自定义应用程序属性。这些属性使用描述的 Solace 用户属性 <名称>“Solace-User-Property” 格式在 HTTP POST 中编码,具体在 REST 消息传递协议中有详细说明。这些属性与消息一起端到端传递,并且在所有 Solace API 和 JMS 中通过自定义属性接口可用。这些属性是编码应用程序特定消息详细信息(如消息格式或任何其他消息处理属性)的理想位置。

HTTP POST 请求正文包含消息内容。内容按照 REST 消息传递协议中的说明被编码在 SMF 消息中。REST 消息传递支持文本和二进制字节消息格式。