Azureservicebus 保留最后一条消息的服务总线队列

Azureservicebus 保留最后一条消息的服务总线队列,azureservicebus,servicebus,Azureservicebus,Servicebus,是否有一种方法可以将服务总线队列/订阅配置为仅保留最后一条消息,并丢弃任何旧消息,而不考虑时间 这样,客户机在每次连接时都会获得最新的“状态”,而不必存储自上次连接以来的所有消息(如果长时间断开连接,将导致性能问题) 谢谢, Stevo服务总线没有这个功能;一些代理有这样的概念(例如MQTT代理中的保留消息),但出于一系列原因,这是一个棘手的功能。其中之一是,您会突然将队列变成广播实体,结算(完成)的语义必须完全改变。还有一系列潜在的授权问题。谁可以覆盖粘性消息?有寄件人吗 处理这一问题的一种干

是否有一种方法可以将服务总线队列/订阅配置为仅保留最后一条消息,并丢弃任何旧消息,而不考虑时间

这样,客户机在每次连接时都会获得最新的“状态”,而不必存储自上次连接以来的所有消息(如果长时间断开连接,将导致性能问题)

谢谢,
Stevo服务总线没有这个功能;一些代理有这样的概念(例如MQTT代理中的保留消息),但出于一系列原因,这是一个棘手的功能。其中之一是,您会突然将队列变成广播实体,结算(完成)的语义必须完全改变。还有一系列潜在的授权问题。谁可以覆盖粘性消息?有寄件人吗

处理这一问题的一种干净方法是将共享状态信息放入一个Blob中,每个人都知道在未初始化的情况下可以访问该Blob,然后监听服务总线主题订阅,以了解何时有新版本的Blob信息(如果合适的话,该信息也可以内联到有效负载中)


如果您需要知道来自订阅的消息是否比您刚刚拾取的Blob更年轻或更老,请比较Blob时间戳和消息的EnqueuedTimeUtc,并丢弃过时的消息。

服务总线没有该功能;一些代理有这样的概念(例如MQTT代理中的保留消息),但出于一系列原因,这是一个棘手的功能。其中之一是,您会突然将队列变成广播实体,结算(完成)的语义必须完全改变。还有一系列潜在的授权问题。谁可以覆盖粘性消息?有寄件人吗

处理这一问题的一种干净方法是将共享状态信息放入一个Blob中,每个人都知道在未初始化的情况下可以访问该Blob,然后监听服务总线主题订阅,以了解何时有新版本的Blob信息(如果合适的话,该信息也可以内联到有效负载中)


如果您需要知道订阅中的邮件是否比您刚获取的Blob更年轻或更老,请比较Blob时间戳和邮件的EnqueuedTimeUtc,然后丢弃过时的邮件。

您能提供更多详细信息吗?如果您只想保留一条消息为什么要使用队列?因为通过使用队列/订阅推送机制,每当有新消息(状态)时,我都会得到实时更新。目标不是要有一个队列,而是要有一个订阅机制,让多个客户端接收实时更新,最好是在连接时获取最新状态。我理解有不同的技术可能更适合这一点,或者是更多技术的组合。问题是服务巴士可以开箱即用吗?你能提供更多细节吗?如果您只想保留一条消息为什么要使用队列?因为通过使用队列/订阅推送机制,每当有新消息(状态)时,我都会得到实时更新。目标不是要有一个队列,而是要有一个订阅机制,让多个客户端接收实时更新,最好是在连接时获取最新状态。我理解有不同的技术可能更适合这一点,或者是更多技术的组合。问题是服务巴士可以开箱即用吗