首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >重异步处理

重异步处理
EN

Stack Overflow用户
提问于 2010-06-29 14:44:07
回答 5查看 1K关注 0票数 5

我有一个应用程序,它以最简单的形式从数据库读取大量电话号码(约1500万),并将每个号码一次一行地发送到url进行处理。我设计的应用程序如下:

  1. 使用SSIS将电话号码从
  2. 大容量导出到文本文件。
  3. 将这些数字加载到消息队列中(我目前使用MSMQ )。
  4. 将命令行应用程序中的消息排出队列,并通过http将请求发送到某些服务,比如每个电话号码3次,最后登录到数据库。

问题是:它仍然需要很长时间才能完成。MSMQ对它可以接收的消息的大小也有限制,现在我必须创建多个消息队列。我需要大量的容错能力,但由于性能原因,我不敢让消息队列具有事务性。我正在考虑将消息队列(目前是一个私有队列)发布到active目录中,以便进程能够从不同的系统中将它排出队列,这样就可以更快地完成任务。而且,我的处理器在执行过程中达到了100%,此时我正在将它更改为使用线程池。如果JMS能更好地处理队列,我现在就愿意研究它。到目前为止,整个处理中最有效的部分是SSIS部分。

我希望听到更好的设计方法,特别是如果您以前处理过此类卷的话。如果它能更好地处理这种情况,我准备切换到unix或lisp。

谢谢。

EN

Stack Overflow用户

发布于 2010-06-29 14:50:32

我没有MSMQ方面的经验,只是一个一般性的问题。为什么在开始时在队列中读取整数列表?为什么不从文本文件中读取一个数字,然后处理它,然后再读取?同时读取对象中的所有数字可能会超过RAM限制,而分页将导致RAM和页文件之间交换对象的延迟。

票数 0
EN
查看全部 5 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3141790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档