ActiveMQ:批量发布邮件,持久但不是异步?

时间:2011-09-25 10:45:33

标签: c# .net activemq nms

是否可以批量存储大量邮件? 我想发送它们同步,持久,但一次非常快速地获得速度。

我正在使用NMS,即java-framework的.net版本。但如果你只知道如何在java中这样做,它甚至会有所帮助。也许我可以更容易地找到.net的解决方案。

我想到了像交易这样的事情。但我只有交易才能为消费者服务,而不是为生产者服务。

1 个答案:

答案 0 :(得分:1)

传统观点认为,如果您希望在批量发送时获得最大吞吐量,那么您应该使用SESSION_TRANSACTED确认模式并将所有消息与.commit()一起批处理。

不幸的是,这里有一个基准测试表明情况不是http://www.jakubkorab.net/2011/09/batching-jms-messages-for-performance-not-so-fast.html,你最好只是在没有交易的情况下正常发送它们。如果您已经在使用交易,那么尝试批量交易可能是有意义的。

我的建议还在于,除非你处理时间非常敏感的消息,否则你产生的速度不会那么大 - 你应该更关心带宽而不是速度消息发送。如果你不介意你的消息乱序,你可以让多个生产者将这些消息发送到给定的目的地......或者如果你需要它们以便使用多个生产者,然后在他们进入之后使用resequencer代理。

相关问题