跳到主要内容

PubSub+消息传递API的功能支持

所有 PubSub+ 消息传递 API 都支持对消息传递至关重要的通用功能。这些 API 随着时间的推移不断发展,以满足客户端应用程序的用例需求,因此在功能支持方面存在一些细微差别。

PubSub+ 消息传递 API for iOS 是一种移动 API。有关 iOS API 支持的功能列表,请参阅 iOS API

以下是当前对功能的支持情况总结;您可以使用此总结进行比较,以选择适合您需求的 PubSub+ 消息传递 API。特定于 API 或平台的功能将在各个 PubSub+ 消息传递 API 页面上进行描述。下表显示了各种功能的 PubSub+ 消息传递 API 支持情况:

功能C.NETJava RTOJCSMPJavaJMSJavaScriptNode.jsPythonGo
直接和保证消息传递支持img
请求和响应消息传递1.1+
不依赖于特定架构或编程语言的结构化数据类型(SDTs)imgimg
通过属性参数进行日志记录和自定义
本地事务img1.4+
XA 事务
PubSub+ 缓存客户端支持1.6+
持久端点配置10.17+10.17+1.7+
持久端点撤销配置10.17+10.17+1.7+
代表其他客户端进行主题订阅管理
使用选择器
流式压缩连接支持
端到端负载压缩支持7.30+10.26+10.8+10.24+1.7+10.25+10.17+10.17+1.8+1.7+
代理服务器连接支持(HTTP 和 SOCKS5)
OAuth 2.0 认证
事件代理版本 9.12+7.21+10.16+7.21+10.13+1.1+10.13+10.9+10.9+1.3+
OAuth 令牌刷新
事件代理版本 10.1+7.24+10.19+10.3+10.16+1.1+10.10+10.10+1.5+1.2+
Kerberos 认证1.2+
分布式追踪(上下文传播)
事件代理版本 10.2+10.21+10.17+1.7+10.17+10.15+10.15+1.7+1.5+
重放
事件代理版本 9.9+7.18+10.12+7.18+10.11+10.7+10.7+1.2+
延迟重新投递
事件代理版本 10.3+10.18+10.18+
主题分发
负面确认(NACKs)
事件代理版本 10.2+7.26+10.21+10.5+10.17+1.4+10.15+10.15+1.9+
队列浏览1.2+
分区队列
事件代理版本 10.4+7.25+10.20+10.4+10.19+1.3+10.19+10.13+10.13+1.5+1.3+

对于 Java、Go 和 Python,持久端点配置功能是通过 缺失资源策略 实现的。在接收器启动时,缺失资源策略定义了当端点不存在时应采取的操作。使用缺失资源策略也意味着您无法撤销这些端点的配置。

持久端点配置和撤销配置的支持

持久端点配置允许 PubSub+ API 在 PubSub+ 事件代理上配置端点,即使这些端点尚未提前存在。对于 C、Go、JCSMP、Java RTO、JavaScript、Node.js 和 .NET API,您还可以通过 API 撤销这些端点的配置。有关为以下语言配置和撤销端点的更多信息,请参阅:

对于 Java、Go 和 Python API,持久端点配置功能是通过 缺失资源创建策略 实现的。当您启动消息接收器时,缺失资源创建策略定义了当端点不存在时应采取的操作。您无法使用 PubSub+ API 撤销使用缺失资源创建策略创建的端点。有关缺失资源创建策略的更多信息,请参阅:

分布式追踪(上下文传播)的支持

通过 SolacePubSub+ OpenTelemetry API 库,PubSub+ 消息传递 API 支持上下文传播。这些库允许您将上下文注入或从 PubSub+ 事件消息中提取上下文。

您需要将 PubSub+ OpenTelemetry API 库与您用于开发应用程序的编程语言的 PubSub+ 消息传递 API 一起部署。这些库依赖于 OpenTelemetry API(也必须与您的应用程序一起部署)。有关 PubSub+ OpenTelemetry API 库、PubSub+ 消息传递 API 和所需依赖项之间的兼容性信息,请参阅 分布式追踪版本兼容性

PubSub+ OpenTelemetry API 库仅支持 W3C 传播器。

有关特定库及其获取方式的更多信息,请参阅:

队列浏览的支持

客户端应用程序可以使用 PubSub+ 消息传递 API 查看队列中按从旧到新的顺序排列的保证消息,而无需消耗它们。有关使用队列浏览的更多信息,请参阅:

分区队列的支持

分区队列允许您轻松扩展事件网格中的消费者应用程序数量。PubSub+ 事件代理确保所有相关事件以正确的顺序传递到同一个消费者,并且在您添加或移除消费者时可以重新平衡事件流。

负面确认(NACKs)的支持

消费者应用程序可以根据处理保证消息的结算结果发送确认(ACK)或负面确认(NACK)。您可以通过结算方法或函数向事件代理发出信号,而不是发送显式确认(ACK)。有关使用 NACKs 的更多信息,请参阅:

请求-响应消息传递的支持

请求 - 响应消息传递是一种数据传输方法,应用程序通过该方法模拟单独的点对点通道:一个用于请求,另一个用于响应。在请求 - 响应消息传递中,从消息请求者发送的每个请求都需要从消息响应者处获得响应。当消息响应者消费请求消息时,它会将响应发送回请求者。有关请求 - 响应消息传递的更多信息,请参阅:

代表其他客户端进行主题订阅管理的支持

代表其他客户端进行主题订阅管理(On-Behalf-Of,OBO)允许某些客户端(称为 OBO 订阅管理器)代表其他客户端订阅和取消订阅主题。OBO 订阅管理器允许您的应用程序使用单一接口进行订阅管理,从而简化了为多个客户端添加和移除订阅的方式。有关 OBO 订阅管理器的更多信息,请参阅:

端到端负载压缩的支持

通过 PubSub+ API 实现的端到端负载压缩可以减少应用程序中的带宽使用并提高性能。有关使用消息负载压缩的更多信息,请参阅:

支持代理服务器连接(HTTP 和 SOCKS5)

您可以通过 HTTP 或 SOCKS5 代理服务器建立与您私有网络中的事件代理的连接。这允许您只为外部代理服务器设置一个防火墙例外,因此任何通过代理服务器进行身份验证的客户端都可以访问您的事件代理。有关使用代理服务器连接的更多信息,请参阅: