ActiveMQ
q42368773
这个作者很懒,什么都没留下…
展开
-
ActiveMQ学习笔记(十一)—— 重试机制与死信队列
消费重试机制在消息的消费过程中,如果消息未被签收或者签收失败,是会导致消息重复消费的,但如果消息一直签收失败,那是不是就会被无限次的消费呢?答案是否定的。一条消息签收不成功,消息服务器就会认为该消费者没有消费过这条消息,就会再次将这条消息传送给该消费者供它消费。至于会传送几次取决于我们定义的消费重试机制。很显然消费重试机制是针对消费者端的。当发生下列任一情况时,消息将重新传递给客户端(也就...原创 2019-12-10 23:44:43 · 553 阅读 · 0 评论 -
ActiveMQ学习笔记(十)—— 延时与定时投递
ActiveMQ还支持消息的延迟投递和定时投递,这也是针对于消息生产者的。ActiveMQ为我们提供的 ScheduledMessage 类描述了延迟投递和定时投递的四种属性:属性名 数据类型 描述 AMQ_SCHEDULED_DELAY long 延迟投递的时间,单位为毫秒 AMQ_SCHEDULED_PERIOD long 重复投递的时间间隔,单...原创 2019-12-08 15:55:21 · 311 阅读 · 1 评论 -
ActiveMQ学习笔记(九)—— 异步投递
ActiveMQ支持两种消息投递方式:同步投递和异步投递。消息投递指的是消息生产者端将消息发送到消息服务器(即Broker)的过程,若采用同步投递的方式,则生产者端每次向消息服务器发送消息时都需要同步地等待消息服务器给予消息发送成功与否的回执,这一定程度上可能会引起消息生产者的阻塞,影响消息发送的效率;采用异步投递的方式则不会有这个问题,因此ActiveMQ默认采用异步投递的方式。使用异步投递的方...原创 2019-12-08 01:04:59 · 387 阅读 · 0 评论 -
ActiveMQ学习笔记(八)—— 主从集群
搭建集群环境消息的持久化和签收机制等都是为了保证消息的可靠性,但仅保证可靠性是不够的,有时我们还需要保证高可用性,这时就需要搭建ActiveMQ集群,以避免单点故障提升可用性。官方为我们介绍了三种集群搭建的方式Master Slave Type Requirements Pros Cons Shared File System Master Slave A sh...原创 2019-12-02 21:47:48 · 556 阅读 · 0 评论 -
ActiveMQ学习笔记(七)—— 持久化机制
持久化机制什么是持久化机制?简单的说就是activemq服务器宕机了,那些已发送的消息数据不会丢;就好比redis持久化rdb、aof一个概念。可以找到mq安装目录conf/activemq.xml <!-- Configure message persistence for the broker. The default persistenc...原创 2019-11-24 15:58:23 · 335 阅读 · 0 评论 -
ActiveMQ学习笔记(六)—— 传输协议
传输协议ActiveMQ默认传输协议为TCP,即我们示例中使用的tcp://192.168.1.3:61616,可以在ActiveMQ安装目录conf/activemq.xml找到其配置文件<transportConnectors><!-- DOS protection, limit concurrent connections to 1000 and frame s...原创 2019-11-21 20:35:32 · 338 阅读 · 0 评论 -
ActiveMQ学习笔记(五)—— 与Spring整合
Spring整合ActiveMQmaven引入依赖<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jms</artifactId> <version>4.3.23.RELEASE</version&g...原创 2019-11-19 21:59:50 · 167 阅读 · 0 评论 -
ActiveMQ学习笔记(四)—— 事务与签收
消息的可靠性可以从持久化、事务、签收、集群,四个方面保证消息中间件的高可用消息的持久化有这样一种情况,生产者发送了很多消息到MQ服务器,突然某一时刻MQ服务器宕机了,此时有一些消费被消费者消费了,有一些还没有。那么没消费的消息还在吗?还能收到吗?答案是yes。生产者在发送消息的时候,默认就是以持久化的模式发送,MQ服务器宕机恢复后消息仍在,还可以继续传递消息(即消费者还能收到消息)。...原创 2019-11-13 22:00:41 · 276 阅读 · 0 评论 -
ActiveMQ学习笔记(三)—— 持久主题订阅
持久主题订阅前面说道,如果消费者没有先启动,生产者就发送了消息,这些消息消费者永远都不会收到,这样接收消息的方式被称为非持久主题订阅。下面我们来介绍另外一种消息接收方式,持久主题订阅消费者订阅主题这里我们还是先启动消费者,创建持久订阅,相当于在MQ服务上注册了一个订阅public static void main(String[] args) throws JMSExceptio...原创 2019-11-12 23:06:12 · 196 阅读 · 0 评论 -
ActiveMQ学习笔记(二)—— 主题
使用主题Topic发布/订阅消息多个消费着订阅同一主题,生产者发布该主题消息,此时多个消费者会同时收到消息,即一个生产者对应多个消费者。如果没有消费者订阅主题(即程序没有启动或没有在监听),生产者发送的消费是废消息,没有任何人能够收到。即便消费者后来订阅了也不会收到历史消息(持久订阅除外)。消费者订阅主题这里要先启动消费者,只有当消费者订阅了主题才能收消息package cn...原创 2019-10-30 22:21:53 · 234 阅读 · 0 评论 -
ActiveMQ学习笔记(一)—— 队列
能干嘛?解耦:系统间不直接调用,代码改动少,如A发送json给B,A发送xml给C,在接入D系统的时候又要发送其他格式的数据削峰:控制并发流量,不直接请求我,当我处理完了才会去中间人取下一个请求异步:不需要立即响应,减少等待时间发送消息package cn.fg.jsm.producer;import javax.jms.Connection;import javax.j...原创 2019-10-28 22:37:04 · 252 阅读 · 0 评论 -
Linux下ActiveMQ安装笔记
ActiveMQ 5需要jdk1.8的支持,首先需要安装jkd1.8,安装过程省略。。。然后解压apache-activemq-5.15.10-bin.tar.gzcd /opt/apache-activemq-5.15.10/bin #进入到解压后的目录./activemq start #执行启动脚本#指定其他配置文件启动#/opt/apache-activemq-5.15.10 ...原创 2019-10-24 22:33:32 · 207 阅读 · 0 评论