我们正在研究使用NServiceBus进行数据集成。我们收到带有数据的传入xml文件,需要将它们处理成几个子系统/数据库。我们最初的方法不是将数据放入消息体,而是将其提取到数据库,然后发送带有文件ID的消息。
现在我正在考虑在邮件正文中发送每行数据(将字段复制到邮件属性)并独立处理每一行。
我对这种方法的关注是,该设计是否可以通过大量传入数据进行维护?让我们说每天有数百万条记录?生产这么多按摩是否有意义,或者最好将它们分成几批?将数据放入消息中是否有意义,或者最好使用ID?
答案 0 :(得分:1)
Евгений,
使用DataBus会是您的选择吗?你得到的文件,没有真正需要分解它并逐个记录发送到其他系统,因为它听起来像那些系统对整个文件感兴趣。此外,它将大大减少您必须发送/处理的消息数量。 在这里查看文档,它可能是您正在寻找的。 http://docs.particular.net/nservicebus/attachments-databus-sample
肖恩
答案 1 :(得分:0)
我们的应用程序使用NServiceBus和MSMQ,我们使用单个服务器和单个线程处理50-100,000条消息。
我会使用两种类型的消息:
随意创建某种服务,将初始数据保存在一个卡盘中,只需将数据库中记录的ID作为消息类型#1传递,然后将创建类型2的所有消息这确保了隔离和交易的使用。
你可能会变得喜欢并使用Sagas,但你并不需要