我们创建了一个电子书阅读器的Web应用程序。所以有一点要记住的是,这个领域并不完全是阅读一本实体书。我们现在试图通过存储用户访问的电子书页面的信息来收集用户的阅读行为。由于这些信息发送到数据仓库,我们认为从书籍控制器发起事件是正确的方式。引发事件或发送命令?
bus.Publish()
但我们不知道它应该是一个发布或发送因为有真的只有一个消费者对这个事件,这是我们的商业智能团队。我们还读到,从Web应用程序发布是不可取的(http://www.make-awesome.com/2010/10/why-not-publish-nservicebus-messages-from-a-web-application /)。因此,现在替代方案是使用总线。发送(RecordPageAccessedCommand)
但是,上述命令不会改变我们的应用程序状态。那它真的是一个命令吗?我有一种感觉,我们犯的错误是使用NServiebus的功能(发布,发送),并试图将其与命令或事件等同起来。
请让我知道这是什么解决方案。
访问时是否可以增加书上的计数器?然后DW可以稍后ETL计数。您的应用可能对这些数据感兴趣,以识别热门书籍或提出建议。 –
@AdamFyles是的,这是可能的。这就是我们目前所做的。有几个这样的事件,我们希望转移到一个基于事件的非阻塞模型用于性能目的。 – darthjit