我有一个场景,我需要通过一个简单的经过身份验证的REST API向NServiceBus中创建一堆事件消息给第三方。第三方可能使用或不使用.NET(它们甚至可能是浏览器中的JavaScript)。
我知道pub / sub是一种推送机制,但我正在寻找一种轮询机制。这在NServiceBus中甚至可能吗?这是适配器的用途,还是用于接受入站消息的?
答案 0 :(得分:3)
通常,您不希望将服务总线暴露给第三方。您可以设法将一些传输交付给订阅者,但之后您将向外部世界发送内部结构。您还提到需要通过REST接口提供拉动机制。
我建议让您的服务总线中的订阅者收听相关消息,然后将其以序列化形式保存在“事件存储”类型中,或者将它们反规范化为REST资源接口会暴露出来。这些消息/资源将包含相关的日期/时间戳。
REST API的使用者可以指定从中检索资源的某个时间点。因此,第三方只需跟踪他们最后检索数据的时间。当然,他们可以根据需要尽可能多地检索,如果需要,新的“订阅者”将能够检索整个历史记录。每个消息/资源也应该有一个GUID,以便能够帮助幂等。