消息生存时间
Dapr 允许对每个消息设置生存时间(TTL)。 这意味着应用程序可以设置每条消息的生存时间,并且这些消息过期后订阅者不会收到。
All Dapr pub/sub components are compatible with message TTL, as Dapr handles the TTL logic within the runtime. 只需在发布消息时设置 元数据。
当消息的 TTL 在 Pub/Sub 组件中得到本机支持时,Dapr 仅仅 TTL 的配置,不会增加任何额外的逻辑,保持可预见的行为。 当组件以不同方式处理过期消息时,这是很有帮助的。 例如,使用 Azure Service Bus 时,过期的消息存储在死信队列中,而不仅仅是删除。
Azure Service Bus
Azure Service Bus 支持 实体级别的 TTL)。 这意味着消息有默认的 TTL,但也可以在发布时间设置更短的时间。 Dapr 会为消息传播 TTL 元数据,并允许 Azure Service Bus 直接处理过期时间。
当非 Dapr 订阅者使用 Azure Service Bus 等组件时,也就是在本机处理消息 TTL,就收不到过期的消息。 在这方面,不需要额外的逻辑。
消息 TTL 可以设置在元数据中,作为发布请求的一部分:
- Learn about
- Learn how to configure Pub/Sub components with multiple namespaces
- List of
- Read the API reference