我有一个应用程序,它以最简单的形式从数据库读取大量电话号码(约1500万),并将每个号码一次一行地发送到url进行处理。我设计的应用程序如下:
问题是:它仍然需要很长时间才能完成。MSMQ对它可以接收的消息的大小也有限制,现在我必须创建多个消息队列。我需要大量的容错能力,但由于性能原因,我不敢让消息队列具有事务性。我正在考虑将消息队列(目前是一个私有队列)发布到active目录中,以便进程能够从不同的系统中将它排出队列,这样就可以更快地完成任务。而且,我的处理器在执行过程中达到了100%,此时我正在将它更改为使用线程池。如果JMS能更好地处理队列,我现在就愿意研究它。到目前为止,整个处理中最有效的部分是SSIS部分。
我希望听到更好的设计方法,特别是如果您以前处理过此类卷的话。如果它能更好地处理这种情况,我准备切换到unix或lisp。
谢谢。
发布于 2010-06-29 14:50:32
我没有MSMQ方面的经验,只是一个一般性的问题。为什么在开始时在队列中读取整数列表?为什么不从文本文件中读取一个数字,然后处理它,然后再读取?同时读取对象中的所有数字可能会超过RAM限制,而分页将导致RAM和页文件之间交换对象的延迟。
https://stackoverflow.com/questions/3141790
复制相似问题