跳到主要内容

主题端点和队列

保证消息被存储在事件代理的端点上。有两种类型的端点:

  • 队列 - 队列是一个配置了主题订阅的端点,客户端可以向其发布消息并消费消息。队列可以订阅多个主题,并接收所有匹配其订阅的主题的消息。队列可以为一个消费者提供独占访问,或者为多个消费者提供访问,其中消息在消费者之间分配。

  • 主题端点 - 主题端点吸引发送到单个主题的消息,只要主题端点有匹配的订阅。任何主题订阅与传入消息的主题匹配的主题端点都将接收这些消息。

队列比主题端点更加灵活,是大多数应用程序推荐的使用方法。队列支持多个主题订阅,并且具有多种配置选项,以满足不同应用程序的需求。主题端点仅应与JMS应用程序一起使用。

事件代理中的队列工作方式与所有消息队列系统中的队列非常相似:

  1. 生产者将保证消息发送到事件代理。
  2. 消息被保存在队列中,并在消费客户端在线并连接时传递给它们,或者在消费者连接之前保留在队列中。
  3. 消费者在完成处理消息后确认消息。
  4. 事件代理从队列中移除消息。

img

队列可以是持久的或非持久的:

  • 持久队列一直存在,直到通过管理操作将其移除。无论客户端是否在线,它们都会累积消息。当离线客户端重新连接时,它们会接收到在它们离线时累积的所有消息。
  • 临时(或非持久)队列遵循客户端连接的生命周期,适用于确保客户端在线时消息的持久性。临时队列和主题端点仅在客户端会话连接期间存在。如果客户端断开连接一段时间,事件代理会自动移除临时队列,并且不会在客户端离线时累积消息。

消息重放

消息重放允许事件代理在首次接收到这些消息后几小时甚至几天,将消息重新发送给请求它们的新客户端或现有客户端。可以在队列或主题端点上执行重放。如果启用消息重放,事件代理会将保证消息存储在重放日志中。这些消息将保留直到日志满,之后最旧的消息将被移除,以为新消息腾出空间。要了解更多信息,请参阅消息重放

现在我们已经介绍了事件代理如何将事件数据从发布应用程序传递给想要了解它的客户端的基础知识,您可以了解更多关于软件事件代理和设备上的消息VPN,或者提前了解事件网格如何为企业扩展EDA功能的信息,在理解事件网格中。