处理队列中的文件,归档和存储在DB中

时间:2011-11-18 02:00:20

标签: c# xml wcf ibm-mq

我们将实现一个从队列中提取文件的解决方案(IBM-MQ)。消息将是10-20个不同的xml消息,需要出列,处理和存档(存储)。但是,当我们将消息中包含的数据存储在数据库中时,我们希望保留源文件,以便从归档过程生成的FileId必须保留并与元数据一起存储。

我想弄清楚什么能为我提供最大的吞吐量?

要求:

  1. 保留文件存档。
  2. 从消息中存储已解析的数据(不是xml blob)。
  3. 保留存档中的源文件ID。
  4. 实施一个可扩展的解决方案......目前每小时可能有40-50,000条消息。
  5. 所以基本上我目前的瓶颈是,我的归档过程和数据处理/数据库加载似乎是串行的(归档必须在我开始进行xml解析/加载之前处理并成功).....没有知道是否有更好的方法来实现这一目标。

    我认为我们可以添加其他将在同一队列上侦听的应用服务器,并且可以根据需要并行处理这些消息。尝试通过尽可能少地执行处理来消除DB作为瓶颈(可以将xml blob发送到DB,但它必须执行xml碎化)。

1 个答案:

答案 0 :(得分:0)

  1. 与DBA合作调整对数据库的写入。
  2. 测试多次读取并查看是否获得更好的吞吐量。
  3. 我的经验是,您希望拥有多个读者,但数量取决于很多因素。测试它,看看什么是赌注。