【发布时间】:2014-08-25 02:37:19
【问题描述】:
我们正在研究使用 NServiceBus 进行数据集成。我们收到带有数据的传入 xml 文件,需要将它们处理成几个子系统/数据库。我们最初的方法不是将数据放入消息体中,而是将其提取到数据库中,然后发送带有文件 ID 的消息。
现在我正在考虑发送消息正文中的每一行数据(将字段复制到消息属性)并独立处理每一行。
我对这种方法的担忧是,这种设计是否可以通过大量传入数据进行维护?假设每天有数百万条记录?生产这么多按摩是否有意义,或者最好将它们分成几批?将数据放入消息中是否有意义,还是使用 ID 更好?
【问题讨论】:
-
如果可能的话,我会说批处理而不是单个消息,但是您为什么要使用消息传递来同步数据?正在捕捉事件并做其他工作?通常数据库有一套数据同步工具。如果您沿着消息传递路线走,我会考虑该消息作为命令或事件的作用是什么?并根据该决策模型将在消息中包含什么内容。
-
NServiceBus 本身能够轻松地跟上每天数百万条消息。性能不应该是您最关心的问题。
标签: transactions integration nservicebus messaging