扩展队列的深度
几乎所有消息系统(尤其是开源系统)都会在内存中保存持久消息的副本或指向已持久化消息的引用。这主要是为了提高性能,但也可能显著降低实现的复杂性。实际上,ActiveMQ Classic 4 及更低版本就是这样做的 - 通过在内存中保存指向持久消息的引用。
但是,这种方法有一个局限性,无论您拥有多少内存,您都会遇到代理在任何特定时间可以处理的持久消息数量的限制。
为了克服这个限制,ActiveMQ Classic 引入了分页缓存 - 适用于所有消息存储(除了内存存储),以实现两全其美 - 优异的性能和能够在持久存储中保存数亿条消息的能力。ActiveMQ Classic **不受**内存可用性的限制,而是受用于保存持久消息的磁盘大小的限制。
有关更多信息,请参见:消息游标