中间件 ActiveMQ
L-Zhang
这个作者很懒,什么都没留下…
展开
-
ActiveMQ死信队列使用
现状:由于测试环境应用复杂的原因,造成了jms死信队列一直挤压很多数据,从而导致存储爆满,进而造成了各个客户端不能正常发送消息。针对这些死信队列,一般都没有利用价值的。测试一般都关注某模块!为了避免某队列的死信队列的挤压,而使整个jms不可用,我们选择了通过ActiveMQ的配置,直接丢弃掉死信队列的消息。自动丢弃过期消息(Expired Messages)简单丢弃过期消息,而不将它们放到DLQ中原创 2017-07-01 15:48:54 · 3771 阅读 · 0 评论 -
KahaDB优化
原文地址:http://fusesource.com/docs/broker/5.4/tuning/PersTuning-KahaDB.htmlOverview:ActiveMQ的消息存储发生了一些演变,现在KahaBD 消息存储是默认的,也是推荐的存储机制。AMQ消息存储,和原kaha消息存储已经成为上一代的存储技术了。KahaDB architecture:KahaDB技术架构转载 2017-08-02 10:19:36 · 2947 阅读 · 0 评论 -
KahaDB简介
ActiveMQ 5.3以后,出现了KahaDB。她是一个基于文件支持事务的消息存储器,是一个可靠,高性能,可扩展的消息存储器。 她的设计初衷就是使用简单并尽可能的快。KahaDB的索引使用一个transaction log,并且所有的destination只使用一个index,有人测试表明:如果用于生产环境,支持1万个active connection,每个connectio转载 2017-08-02 10:16:46 · 1695 阅读 · 0 评论 -
为高并发程序部署ActiveMQ
为高并发程序部署ActiveMQ,单个代理需要处理成千上万的连接和消息队列.默认情况下,ActiveMQ被设计成尽可高效的传输消息以确保低延迟和良好的性能.但是,你也可以进行一些配置使的ActiveMQ代理可以同时处理大量并发的连接以及大量的消息队列.默认情况下,ActiveMQ使用阻塞IO来处理传输连接,这种方式为每一个连接分配一个线程.你可以为ActiveMQ代理使用非阻塞原创 2017-05-17 18:13:36 · 3506 阅读 · 0 评论 -
ActiveMQ流控
生产者流控从5.x版本起,可以给每个producer单独设置流控。流控简单的说就是控制生产者的在内存使用限制下的行为。当然,流控的目的在于防止在将ActiveMQ作为内存MQ使用时,生产速度大于消费速度时将MQ撑爆的问题。分两个情况:1、 同步发送消息(useAsynSend为false):此时将在SystemUsage的限制下,使用destinationPolicy中的polic原创 2017-05-18 17:35:10 · 2696 阅读 · 0 评论 -
ActiveMQ中消费者是如何接收消息的
一、http://blog.csdn.net/manzhizhen/article/details/52606716二、http://blog.csdn.net/manzhizhen/article/details/52606717转载 2017-05-18 17:37:58 · 3468 阅读 · 0 评论 -
ActiveMQ的消息重发策略和DLQ处理
在以下三种情况中,ActiveMQ消息会被重发给客户端/消费者: 1.使用一个事务session,并且调用了rollback()方法; 2.一个事务session,关闭之前调用了commit; 3.在session中使用CLIENT_ACKNOWLEDGE签收模式,并且调用了Session.recover()方法。 Broker根据自己的规则,通过BrokerInfo命令包和客转载 2017-05-19 10:52:55 · 3559 阅读 · 0 评论 -
ActiveMQ 问题
1.如何在activemq.xml里面配置消息队列的大小,来保证队列不会溢出?如果采用非持久化消息,那么当大量发送消息时,首先大量占用内存,造成消息堆积,容易造成内存溢出;消息类型建议使用持久化消息的同时配合其他方式的master/slave或者failover机制,尽量保持消息的畅通。2.ActiveMQ的另一个问题就是只要是软件就有可能挂掉,挂掉不可怕,怕的是挂掉之后把信息给丢原创 2017-05-04 15:24:05 · 6001 阅读 · 0 评论 -
ActiveMQ prefetch机制
ActiveMQ prefetch机制每次consumer连接至 broker 时,broker 预先获取许多message到消费者(前提是broker 中存在大量消息),预先存放message的数量取决于prefetchSize(默认为1000)。此机制的目的很显然,是想让客户端代码用一个consumer反复进行receive操作,这样能够大量提高出队性能。prefe原创 2017-05-04 11:45:07 · 5323 阅读 · 1 评论 -
分布式发布订阅消息系统 Kafka 架构设计
转自:http://www.oschina.net/translate/kafka-design参与翻译(4人):fbm, 飞翔的猴子, Khiyuan, nesteaa感谢这些同志们的辛勤工作,翻译的真不错,目前见到的最好的Kafka中文文章-------------------------------我们为什么要搭建该系统Kafka是转载 2017-05-22 11:14:24 · 2774 阅读 · 0 评论 -
ActiveMQ死信队列使用
现状:由于测试环境应用复杂的原因,造成了jms死信队列一直挤压很多数据,从而导致存储爆满,进而造成了各个客户端不能正常发送消息。针对这些死信队列,一般都没有利用价值的。测试一般都关注某模块!为了避免某队列的死信队列的挤压,而使整个jms不可用,我们选择了通过ActiveMQ的配置,直接丢弃掉死信队列的消息。自动丢弃过期消息(Expired Messages)简单丢弃原创 2015-01-29 11:39:35 · 6775 阅读 · 0 评论 -
ActiveMQ的消息存储方式
1. 队列存储 采取先进先出模式,同一时间,消息只会发送给某一个消费者,只有当该消息被消费并告知已收到时,它才能在代理的存储中被删除。 对于持久性订阅来说,每一个消费者都会获取消息的拷贝。为了节约空间,代理的存储介质中只存储了一份消息,存储介质的持久订阅对象为其以后的被存储的消息维护了一个指针,消费者消费时,从存储介质中复制一个消息。消息被所有订阅者获取后才能删转载 2017-05-23 10:39:36 · 3449 阅读 · 0 评论 -
activemq启动异常
activemq启动异常执行activemq启动命令start,输出正常提示信息,activemq.log日志也正常,但进程没有起来,没有其他任何异常信息:[root@jms2 bin]# ./activemq startINFO: Using default configuration(you can configure options in one of these file: /etc/de原创 2017-07-01 16:04:27 · 6372 阅读 · 0 评论 -
ActiveMQ的集群与高可用
ActiveMQ的集群与高可用针对大量的消息吞吐量、对MQ可用性要求非常严格的场景、或者非常复杂的消息处理关系情况下,单个MQ实例通常已经无法满足我们的需要,这时候ActiveMQ的集群和高可用方案就对我们很重要了。1.client的集群对消费者来说,使用queue即可做到某种意义上的消费者集群,所有消费者共同处理同一类消息。非持久订阅的topic,这种功能没有实现。但是持久订阅的topic,可以转载 2017-07-01 15:52:59 · 2394 阅读 · 0 评论 -
ActiveMQ消费重试机制
处理失败时的消息重发机制1. 处理失败 指的是MessageListener的onMessage方法里抛出RuntimeException。2. Message头里有两个相关字段:Redelivered默认为false,redeliveryCounter默认为0。3. 消息先由broker发送给consumer,consumer调用listener,如果处理失败,本地redeliveryCount原创 2017-07-01 15:52:56 · 6312 阅读 · 0 评论 -
ActiveMQ高级特性:虚拟Destinations实现消费者分组
虚拟Destinations可以看做对简单的topic和queue用法的补充,基于它们可以实现一些简单有用的EIP功能,虚拟主题类似于1对多的分支功能+消费端的cluster+failover虚拟主题(Virtual Topics)ActiveMQ中,topic只有在持久订阅(durablesubscription)下是持久化的。存在持久订阅时,每个持久订阅者,都相当于一个持久化的queue的客户原创 2017-07-01 15:52:53 · 3171 阅读 · 0 评论 -
ActiveMQ的使用
阅读目录点对点或队列模型(Point-to-point model)发布者/订阅者模型(Publish/subscribe model)部署ActiveMQ生产消息过程消费消息过程JMS消息类型ACK_MODE确认模式ActiveMQ 是Apache出品的开源消息总线。完全支持JMS1.1规范首先我们要了解一下JMSJMS简介Java消息服务(Java Message Service,JMS)应用转载 2017-07-01 15:52:50 · 2652 阅读 · 0 评论 -
ActiveMQ问题分析和解决
1)KahaDb和AMQ Message Store两种持久方式如何选择?官方:From 5.3 onwards - we recommend you use KahaDB - which offers improved scalability and recoverability over the AMQ Message Store.The AMQ Message Store which alt转载 2017-07-01 15:52:04 · 11785 阅读 · 0 评论 -
KahaDB持久化性能
翻译自:http://fusesource.com/docs/broker/5.4/tuning/PersTuning-SerialToDisk.html KahaDB message store:KahaDB 是ActiveMQ Broker 为了高性能而推荐使用的消息存储机制。KahaDB支持多种性能选项供你进行调整,以获得最优性能。Normal dispatchi转载 2017-08-02 10:33:19 · 1907 阅读 · 0 评论