我有一个应用程序,它是最简单的形式,它从数据库中读取大量电话号码(大约1500万),并将每个号码一次一行地发送到网址进行处理.我设计了这样的应用程序:
问题是:完成还需要很长时间.MSMQ也可以限制它可以采用的消息大小,现在我必须创建多个消息队列.我需要很多容错,但由于性能的原因,我不敢让我的消息队列成为事务性的.我正在考虑将消息队列(当前是专用队列)发布到活动目录,以便进程可以将其从不同系统中出列,以便更快地完成.此外,我的处理器在执行期间达到100%,我正在将其更改为此时使用线程池.如果它能更好地处理队列,我现在愿意探索JMS.到目前为止,整个处理过程中最有效的部分是SSIS部分.
我想听听更好的设计方法,特别是如果你以前处理过这种音量.如果能更好地处理这种情况,我已准备好切换到unix或做lisp.
谢谢.
我没有 MSMQ 经验,只是一个一般性问题。为什么要在开始时读取队列中的整个号码列表?为什么不从文本文件中读取一个数字,对其进行处理然后读取下一个?一次读取对象中的所有数字可能会超出 RAM 限制,并且分页将导致在 RAM 和页面文件之间来回交换对象时出现延迟。