NServiceBus。什么时候留言太多了?

时间:2014-07-03 20:22:59

标签: transactions integration nservicebus messaging

我们正在研究使用NServiceBus进行数据集成。我们收到带有数据的传入xml文件,需要将它们处理成几个子系统/数据库。我们最初的方法不是将数据放入消息体,而是将其提取到数据库,然后发送带有文件ID的消息。

现在我正在考虑在邮件正文中发送每行数据(将字段复制到邮件属性)并独立处理每一行。

我对这种方法的关注是,该设计是否可以通过大量传入数据进行维护?让我们说每天有数百万条记录?生产这么多按摩是否有意义,或者最好将它们分成几批?将数据放入消息中是否有意义,或者最好使用ID?

2 个答案:

答案 0 :(得分:1)

Евгений,

使用DataBus会是您的选择吗?你得到的文件,没有真正需要分解它并逐个记录发送到其他系统,因为它听起来像那些系统对整个文件感兴趣。此外,它将大大减少您必须发送/处理的消息数量。 在这里查看文档,它可能是您正在寻找的。 http://docs.particular.net/nservicebus/attachments-databus-sample

肖恩

答案 1 :(得分:0)

我们的应用程序使用NServiceBus和MSMQ,我们使用单个服务器和单个线程处理50-100,000条消息。

我会使用两种类型的消息:

  1. 分解消息,该消息将读取主记录ID并在单个消息中对其进行分解
  2. 项目处理消息,我将使用至少5个线程并坚持插入数据库处理类型
  3. 随意创建某种服务,将初始数据保存在一个卡盘中,只需将数据库中记录的ID作为消息类型#1传递,然后将创建类型2的所有消息这确保了隔离和交易的使用。

    你可能会变得喜欢并使用Sagas,但你并不需要

    http://docs.particular.net/nservicebus/sagas-in-nservicebus