5.1ActiveMQ是如何存储消息的?

[size=medium]获得一些在ActiveMQ消息仓库中的消息的存储原理的基础知识是重要的。它会帮助你做配置和提供对在持久化消息传输过程中在ActiveMQ代理中发生了什么一个认识。被发送到队列和主题的消息是被不同地存储的,因为有一些优化可能发生在主题模式而对队列没有意义,如我们将介绍的那样。
对队列的存储是直截了当的--消息主要被先进先出地存储。看图5.1对此的描述(图略)。某时一条消息被调度到单个消费者。只有当消息被消费并答复时才会从代理消息仓库中删除。
对于一个主题的持久订阅者,每个消费者获取一条消息的拷贝。为了节省存储空间,只有消息的一个拷贝被代理存储。存储中的一个持久订阅者对象维护一个指向它的下一个存储消息的指针并分派它的一个拷贝到它的消费者,如图5.2所示。消息仓库以这种方式实现因为每一个持有订阅者可能以不同的速度消费消息,或者同一时间它们可能不都在运行。同时,因为每个消息可能潜在的有多个消费者,一条消息不能被仓库删除知道它被成功地传递到每个对它感兴趣的持久订阅者。
ActiveMQ的每个消息仓库实现都支持队列和主题的消息存储,虽然存储类型间显然实现不相同。例如,内存仓库在内存中保存所有消息。
贯穿剩余章节的是,详细介绍关于配置ActiveMQ不同的消息仓库和他们的优缺点。[/size]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值