2

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

我知道发布/订阅是一种推送机制,但我正在寻找一种轮询机制。这在 NServiceBus 中是否可行?这是适配器的用途,还是接受入站消息的用途?

4

1 回答 1

3

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

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

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

于 2013-03-14T10:42:42.383 回答