面试题 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka.ActiveMQ.RabbitMQ.RocketMQ 都有什么区别,以及适合哪些场景? 面试官心理分析 其实面试官主要是想看看: 第一,你知不知道你们系统里为什么要用消息队列这个东西? 不少候选人,说自己项目里用了 Redis.MQ,但是其实他并不知道自己为什么要用这个东西.其实说白了,就是为了用而用,或者是别人设计的架构,他从头到尾都没思考过. 没有对自己的架构问过为什么的人,一定是平时没有思考的人,面试官对这类候选人印象通…
JMS中定义了两种消息模型:点对点(point to point, queue)和发布/订阅(publish/subscribe,topic).主要区别就是是否能重复消费. 点对点:Queue,不可重复消费 消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息. 消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息.Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费.其它的则不能消费此消息了.当消费者不存在时,消…
半个月前,巡检时发现服务器出现不明进程,对其进行了处理,由于当时没有做详细记录,在这里把大致过程描述一下. 症状: ps命令发现出现几个不明进程, 1.于/tmp下运行的,名称随机的进程.占用CPU高达100%,确认为挖矿机 2.于activemq下运行的不明进程,占用CPU很低,kill -9 杀死进程后会自动重启(当时以为是activemq的正常进程,后核对后发现该进程不属于activemq) crontab -l,发现5分钟一次的计划任务,于某IP下载shell脚本 处理过程: 1.直接杀…
ActiveMQ可以和spring很好的集成,下面我们来看看,如何做个集成的demo. (1)pom.xml引入相关jar <!-- spring相关 begin --> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> <sco…
1.在这个项目中新增两个java类,主题生产者和主题消费者: 2.和点对点的代码差别并不大,所以将消费者和生产者的分别代码拷入新增的java类中,再修改就好了. appProducerTopic代码:标红字体是做出了修改,由创建队列改为了创建主题. package com.liu.jms; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class appProducerTopic…
1.安装 下载 http://activemq.apache.org/download-archives.html, [推荐]ActiveMQ 5.13.4 Release与jdk1.7搭配(其它版本安装发现有点问题) 下载在linux后,然后解压即可用 #j解压 -bin.tar.gz 启动 直接运行bin下面的activemq即可 cd bin #进入activemq的bin目录 #运行 ./activemq start #查看状态 ./activemq status #停止 ./activ…
ActiveMQ 在java中的使用,通过单例模式.工厂实现 Jms规范里的两种message传输方式Topic和Queue,两者的对比如下表():   Topic Queue 概要 Publish  Subscribe messaging 发布订阅消息 Point-to-Point  点对点 有无状态 topic数据默认不落地,是无状态的. Queue数据默认会在mq服务器上以文件形式保存,比如Active MQ一般保存在$AMQ_HOME\data\kr-store\data下面.也可以配置…
ActiveMQ 持久化设置: 在redis中提供了两种持久化机制:RDB和AOF 两种持久化方式,避免redis宕机以后,能数据恢复,所以持久化的功能 对高可用程序来说 很重要. 同样在ActiveMQ 中 也提供了持久化的功能,在生产者 生产消息 到队列中,可以通过设置 该消息在队列中是否持久化.持久化以后,即使ActiveMQ重启了,队列中的消息也不会丢失 java中,在生产者 发送消息的时候可以通过api 设置 producer.setDeliveryMode(DeliveryMode.…
activeMQ出现javax.jms.JMSException: Software caused connection abort: recv failed的问题解决 一直找不到原因,原来是在本地的网络不稳定,ip抖动连接出错,在本地出现这个问题是正常的 当把程序放到服务上一切正常... activeMQ日志出现警告 WARN  | Transport Connection to: tcp://218.17.179.250:57093 failed: java.net.SocketExcept…