跳到主要内容

客户端支持

事件代理为 AMQP 连接的客户端提供与其他类型的事件代理客户端相同程度的支持,但以下表中列出的限制或限制除外。有关与 AMQP 1.0 规范的合规性信息,请参阅 AMQP 1.0 协议合规性。

Solace 事件代理功能AMQP 客户端支持程度
访问控制列表(ACL)对于 Solace 为每个客户端保留的 reply-to #P2P 主题前缀的特殊规则,对于没有手段了解其分配的 #P2P reply-to 前缀的客户端来说,使用有限。
保证消息传递事件代理支持客户端发布和订阅,但有以下例外:
  • 当未启用保证消息传递时,客户端将收到一个带有 amqp:not-implemented 指示和适当描述性文本的关闭帧。
  • 端点创建:客户端在作为消费者绑定时创建任意持久队列和主题端点,或者绑定到通过其他方式创建的任何现有队列或主题端点,并创建临时队列和主题端点。
  • 队列订阅管理:客户端无法添加或删除它们绑定到的队列上的订阅。
  • 事务:本地和 XA 事务消息传递均不受支持。
  • DMQ 合格:客户端发布的所有消息都被视为 DMQE(死信队列合格)为 true。
  • 对客户端发送的未确认消息的重传仅在客户端重新连接时发生,而不会因为超时重传,就像 SMF 客户端那样。 | | 直接消息传递 | 事件代理支持客户端直接发布,但不支持订阅。 | | TCP 传输 | 事件代理支持通过 TCP 的 AMQP。 | | WebSocket 传输 | 不支持 AMQP 的 WebSocket 传输。 | | 身份验证 | AMQP 使用简单身份验证和安全层(SASL)进行身份验证。事件代理支持 ANONYMOUS、PLAIN 和 EXTERNAL SASL 机制。
  • 对于 Solace 基本身份验证类型为 none,必须使用 ANONYMOUS 机制。
  • 对于 Solace 基本身份验证类型为 internal、ldap 或 radius,必须使用 PLAIN 机制。在这种情况下,sasl.init 帧的 authcid 和 password 字段用于建立身份。
  • 对于 Solace 客户端证书身份验证,必须使用 EXTERNAL 机制。在这种情况下,身份通过提供的客户端证书的字段以正常方式建立。
    如果客户端尝试在没有 SASL 交换的情况下连接,因此不提供任何身份,事件代理仅在 basic/none 情况下接受连接,并将客户端分配给“默认”客户端用户名。
    不支持 Kerberos 和 OAuth 身份验证。 | | 分区队列 | 当前不支持使用 AMQP 绑定到分区队列。
    当您:
  • 使用 group-id 消息属性作为分区键,
  • 在使用 JMS over AMQP 时,使用 JMSXGroupId 消息属性作为分区键时,支持使用 AMQP 发布到分区队列。 | | 压缩 | 不支持客户端连接的压缩。 | | 仅传递给一个 | 不支持 AMQP 的仅传递给一个功能。 | | 省略 | 客户端发布的所有消息都被视为不符合省略条件。 | | 保持活动 | 事件代理在连接上使用客户端配置文件的 TCP 保持活动。事件代理永远不会对客户端强制执行 AMQP 保持活动要求,尽管它会尊重客户端请求的 AMQP 保持活动。 | | 顺序主题 | 不支持客户端的顺序主题。 | | PubSub+ 缓存 | PubSub+ 缓存查询功能由 Solace API 提供。 | | 订阅管理器 | 客户端不能代表其他客户端管理订阅。 | | SSL/TLS | 事件代理支持通过代理暴露一个单独的、仅加密的端口进行 TLS 协商,期望每个连接都以 TLS 交换开始。在此之后,客户端和代理继续进行正常的 AMQP 帧交换。 | | JMS 消息类型 | 不支持 StreamMessage 和 MapMessage。 |