使用NServiceBus远程公开消息队列

使用NServiceBus远程公开消息队列,nservicebus,polling,Nservicebus,Polling,我有一个场景,在这个场景中,我需要通过一个简单的经过身份验证的RESTAPI向第三方公开在NServiceBus中创建的一组事件消息。第三方可能使用也可能不使用.NET(甚至可能是浏览器中的JavaScript) 我知道pub/sub是一种推送机制,但我正在寻找一种轮询机制。这在NServiceBus中可能吗?这是适配器的用途,还是用于接受入站消息?通常您不希望将服务总线公开给第三方。您可以设法将一些传输传递给订阅者,但随后您将向外部世界发送一个内部结构。您还提到需要一个通过REST接口的拉机制

我有一个场景,在这个场景中,我需要通过一个简单的经过身份验证的RESTAPI向第三方公开在NServiceBus中创建的一组事件消息。第三方可能使用也可能不使用.NET(甚至可能是浏览器中的JavaScript)


我知道pub/sub是一种推送机制,但我正在寻找一种轮询机制。这在NServiceBus中可能吗?这是适配器的用途,还是用于接受入站消息?

通常您不希望将服务总线公开给第三方。您可以设法将一些传输传递给订阅者,但随后您将向外部世界发送一个内部结构。您还提到需要一个通过REST接口的拉机制

我建议在您的服务总线中有一个订阅服务器,它侦听相关消息,然后将它们以序列化形式保存在“事件存储”类型中,或者将它们反规范化为REST接口将公开的资源。这些消息/资源将包含相关的日期/时间戳


RESTAPI的使用者可以指定从中检索资源的时间点。因此,第三方只需跟踪上次检索数据的时间。当然,他们可以检索所需的内容,如果需要,新的“订阅者”将能够检索整个历史记录。每个消息/资源还应该有一个排序GUID,以帮助实现幂等性。

这很有意义。发布事件->订阅->存储。休息->商店。美好的谢谢。@Eben请看这个问题。谢谢你的帮助。我在找这样的东西。我想知道怎么做。请回答这个问题。我希望将所有http请求保留在一个队列中,然后进行处理,以便所有请求都得到服务。