分类:
2010-04-10 16:29:06
ActiveMQ 5.x采用了kahadb,使得其持久化的性能比用JDBC来得高。不过他的journal方法还是值得一提的。
ActiveMQ 4.x推荐使用journal,结合jdbc来完成消息的持久化。这也是ActiveMQ默认的持久化方法。消息(包括事务提交,回滚和消息确认acknowledgements)都以最快的速度写入到journal。然后,周期地(at intervals) 检查(checkpoint)并将必须的数据持久化(jdbc)。
一般情况下,生产的消息会很快地被消费者处理。如,生产10000条消息,只有极少的消息可能会无法交付(outstanding),因此,当定期检查journal时,将他们写入到jdbc中。 极端地情况下,即使所有的消息都outstanding,journal仍然可以提供更高的性能,因为可以使用大批量的插入。
journal是基于Howl的。不过,因为ActiveMQ需要处理非常大的数据量,因此,journal并未采用Howl固定的记录大小。