小编ken*_*eni的帖子

重型异步处理

我有一个应用程序,它是最简单的形式,它从数据库中读取大量电话号码(大约1500万),并将每个号码一次一行地发送到网址进行处理.我设计了这样的应用程序:

  1. 使用SSIS将电话号码从sql批量导出到文本文件.这非常快,只需1或2分钟.
  2. 将数字加载到消息队列中(我现在使用MSMQ).
  3. 将来自命令行应用程序的消息出列,并通过http将请求激活到某个服务,例如每个电话号码3个呼叫,最后登录到数据库.

问题是:完成还需要很长时间.MSMQ也可以限制它可以采用的消息大小,现在我必须创建多个消息队列.我需要很多容错,但由于性能的原因,我不敢让我的消息队列成为事务性的.我正在考虑将消息队列(当前是专用队列)发布到活动目录,以便进程可以将其从不同系统中出列,以便更快地完成.此外,我的处理器在执行期间达到100%,我正在将其更改为此时使用线程池.如果它能更好地处理队列,我现在愿意探索JMS.到目前为止,整个处理过程中最有效的部分是SSIS部分.

我想听听更好的设计方法,特别是如果你以前处理过这种音量.如果能更好地处理这种情况,我已准备好切换到unix或做lisp.

谢谢.

c# java msmq

5
推荐指数
1
解决办法
770
查看次数

标签 统计

c# ×1

java ×1

msmq ×1