消息重放配置
消息重放允许已发布的保证消息以及被提升为保证消息的直连消息(未被拒绝给发布者)被存储在重放日志中。消息的存储在接收到后无限期进行,以防它们在以后的某个日期需要被重放。
您可以从事件代理或至少具有消费权限的客户端启动端点的重放日志回放。后者会导致将记录消息的过滤子集发送给这些客户端。
有关消息重放的更多信息,请参见:
- 部署注意事项
- 术语
- 重放请求类型
- 可重放消息的生命周期
- 向端点重放
- 重放状态
- 修剪重放日志
- 直连消息和消息重放
有关使用Solace CLI命令配置和管理消息重放的说明,请参见:
- 配置消息重放
- 回放重放日志
- 监控消息重放
有关在Broker Manager中设置和使用消息重放的说明,请参见配置消息重放。
下一步
从这里开始,您可以根据您想了解的内容选择不同的路径:
-
查看一些简单的示例,展示如何使用Solace CLI配置和使用消息重放,在消息重放示例部分。
-
查看如何使用每个消息重放Solace CLI命令的详细信息,这些部分中。
- 配置消息重放
- 回放重放日志
-
查看Solace消息重放与JCSMP教程,展示客户端如何启动和处理重放,以及如何从重放日志启动重放的指导。
-
观看一个视频,展示如何使用PubSub+ Broker Manager启动消息重放。
部署注意事项
支持的PubSub+产品锚点
消息重放支持以下Solace PubSub+产品:
- Solace PubSub+ 3530和3560设备
- PubSub+软件事件代理
- PubSub+ Cloud(受控可用性)
使用消息重放时的建议和注意事项锚点
您应该了解以下消息重放特性:
- 消息重放消耗事件代理处理资源,因为它需要维护重放日志,处理消息的检索和重放,并在重放日志的存储使用率达到其配置配额的90%时修剪重放日志。
- 慢速磁盘会负面影响消息重放性能。
- 不支持与消息重放的复制。
术语
以下表格提供了在消息重放讨论中常用的术语定义。
术语 | 描述 |
---|---|
实时消息 | 未发送给所有消费客户端的已发布消息。它存在于数据路径的某个位置;即,它是在入站时接收的,通过出站发送的,或存在于一个或多个端点中。 |
可重放消息 | 在启用消息重放的消息VPN上接收的实时消息。 |
已记录消息 | 在重放日志中可用于后续重放的可重放消息。 |
重放端点 | 当前从重放日志接收已记录消息的端点。 |
已重放消息 | 在重放日志中可用且与重放端点的订阅匹配并已添加到端点的已记录消息。 |
重放到端点 | 将已记录消息添加到重放端点的过程,从而在重放端点上创建已重放消息实例。 |
重放日志修剪 | 自动删除重放日志中最旧消息以腾出空间给新实时数据的过程。 |
重放请求类型
可以通过使用PubSub+消息传递API绑定到保证端点的客户端应用程序,或从Broker Manager、Solace CLI或SEMP启动端点的消息重放请求。在任何情况下,消息重放支持以下类型的回放请求:
- 从日志开始处开始重放请求者指定从重放日志中最旧的消息开始回放。重放日志中与端点的订阅匹配的所有消息都将被传递到端点。
- 从特定日期开始重放请求者指定从何时开始回放。重放日志中等于或晚于指定日期和时间且与端点的订阅匹配的任何消息都将被 传递到端点。
- 从复制组消息ID开始重放请求者指定从特定复制组消息ID之后开始回放。重放日志中在指定复制组消息ID之后接收到且与端点的订阅匹配的任何消息都将被传递到端点。
在所有情况下,一旦重放赶上实时数据流,消息传递将切换到从端点传递实时消息。
可重放消息的生命周期
让我们走过可重放消息的生命周期。需要注意的是,生命周期对所有类型的重放请求都是相同的,并且在以下生命周期阶段中,下划线部分对应于术语部分中的术语。
-
在启用消息重放的消息VPN上接收到实时消息。此消息被视为可重放消息。
-
消息成功存储到所有非重放目的地,添加到重放日志中,现在被视为已记录消息。
-
在某个时候,事件代理接收到包含已记录消息的开始时间的重放请求。一旦重放到达已记录消息,并成功执行重放到端点,它就被视为已重放消息。
- 关于重放过程的更详细讨论在重放到端点中呈现。
- 如何使用Solace CLI启动重放的说明在使用start-replay启动记录消息的重放中显示。
-
最后,已重放消息被传递给消费者并被确认,这将其从重放端点中移除;然而,它仍然在重放日志中,直到被修剪。
- 有关自动和手动重放日志修剪的更多讨论,请参阅修剪重放日志。
- 如何使用Solace CLI手动启动重放日志修剪的说明可以在使用trim-logged-messages从重放日志中删除消息中找到。
向端点重放
重放已记录消息是按端点进行的,并且可以使用PubSub+ Broker Manager、Solace CLI和SEMP命令启动,或者通过使用PubSub+消息传递API绑定到端点的客户端应用程序启动。如重放请求类型中所述,重放请求可以启动所有已记录消息的回放,所有给定复制组消息ID之后的消息,或从给定日期和时间开始,条件是如果提供了开始日期和时间,它们不能是未来的日期和时间。在所有情况下,所有绑定到重放端点的客户端都被断开连接,除非是通过绑定请求请求重放的客户端。
主题匹配
从回放开始点开始的所有已记录消息都被处理,并且事件代理尝试将其主题与重放端点的订阅匹配。当匹配时,事件代理将已记录消息重放到重放端点,并以最初接收的形式发送原始消息,没有任何修改。它发送原始主题、内容和消息ID。事件代理不会将消息标记为重新传递。
窗口机制
在向重放端点重放消息时使用窗口机制。这意味着在事件代理等待从重放端点消费已重放消息之前,只有一部分消息被重放到端点。