ActiveMQ消息队列-简介

一、ActiveMQ是什么

ActiveMQ是一个消息中间件(Message-oriented middleware,MOM),实现JMS1.1规范,支持J2EE1.4以上,支持多种语言客户端(java,C,C++,AJAX等等),支持多种协议(http,https,ip多重广播,ssl协议,stomp协议,tcp协议,udp协议等)以及良好的spring支持。

二、ActiveMQ与RPC比较

1、都能实现系统之间解耦;

2、RPC是同步通信,ActiveMQ默认是异步通信,当然它也可支持同步通信;

3、ActiveMQ自身支撑简单的授权和认证方式,可通过配置properties文件来实现;

4、可以以tomcat、jetty等服务器集成;

5、支持集群,管理控制简单。

三、安装ActiveMQ

可以进入官方网站下载对应版本的二进制包(http://activemq.apache.org/download-archives.html),   在windows上解包,进入到apache-activemq-x.x.x\bin\activemq.bat运行ActiveMQ程序;如果是在Linux上,用命令tar zxvf activemq-x.x.x.tar.gz解包到一个目录就可以使用了。

ActiveMQ可能需要以下端口1099(JMX),61616(默认的TransportConnector)

windows查看监听端口:

netstat -an|find "61616"

Linux系统:

netstat -an|grep 61616

运行后可以打开web控制台:

http://localhost:8161/admin

如果能打开控制台页面,表示安装成功。

四、消息处理机制queue(p2p点对点模式)和topic(pub\sub发布订阅模式)

Topic Queue
概要 Publish Subscribe messaging 发布订阅消息 Point-to-Point 点对点
有无状态 topic数据默认不落地,是无状态的 Queue数据默认会在mq服务器上以文件形式保存,比如Active MQ一般保存在$AMQ_HOME\data\kr-store\data下面。也可以配置成DB存储
完整性保障 并不保证publisher发布的每条数据,Subscriber都能接受到 Queue保证每条数据都能被receiver接收
消息是否会丢失 一般来说publisher发布消息到某一个topic时,只有正在监听该topic地址的sub能够接收到消息;如果没有sub在监听,该topic就丢失了 Sender发送消息到目标Queue,receiver可以异步接收这个Queue上的消息。Queue上的消息如果暂时没有receiver来取,也不会丢失
消息发布接收策略 一对多的消息发布接收策略,监听同一个topic地址的多个sub都能收到publisher发送的消息。Sub接收完通知mq服务器 一对一的消息发布接收策略,一个sender发送的消息,只能有一个receiver接收。receiver接收完后,通知mq服务器已接收,mq服务器对queue里的消息采取删除或其他操作

Topic和queue的最大区别在于topic是以广播的形式,通知所有在线监听的客户端有新的消息,没有监听的客户端将收不到消息;而queue则是以点对点的形式通知多个处于监听状态的客户端中的一个。

时间: 2024-10-09 21:13:58

ActiveMQ消息队列-简介的相关文章

JAVA的设计模式之观察者模式----结合ActiveMQ消息队列说明

1----------------------观察者模式------------------------------ 观察者模式:定义对象间一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知自动更新. activeMQ消息队列 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮

ActiveMQ消息队列的搭建

今天来写下消息队列 一.首先介绍下什么是activeMQ? ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位. 主要特点: 1. 多种语言和协议编写客户端.语言: Java, C, C++, C#, Ruby, Perl, Python, PHP.应用协议: OpenWire,Sto

ActiveMQ消息队列的使用及应用

一:JMQ的两种消息模式 1.1:点对点的消息模式 1.2:订阅模式 二:点对点的实现代码 2.1:点对点的发送端 2.2:点对点的接收端 三:订阅/发布模式的实现代码 3.1:订阅模式的发送端 3.2:订阅模式的接收端 四:发送消息的数据类型 4.1:传递javabean对象 4.2:发送文件 五:ActiveMQ的应用 5.1:保证消息的成功处理 5.2:避免消息队列的并发 5.2.1:主动接收队列消息 5.2.2:使用多个接收端 5.3:消息有效期的管理 5.4:过期消息,处理失败的消息如

Spring整合activeMQ消息队列

1.配置JMS <!-- Spring提供的JMS工具类,它可以进行消息发送.接收等 --> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <!-- 这个connectionFactory对应的是我们定义的Spring提供的那个ConnectionFactory对象 --> <property name="conne

JAVAEE——宜立方商城08:Zookeeper+SolrCloud集群搭建、搜索功能切换到集群版、Activemq消息队列搭建与使用

1. 学习计划 1.solr集群搭建 2.使用solrj管理solr集群 3.把搜索功能切换到集群版 4.添加商品同步索引库. a) Activemq b) 发送消息 c) 接收消息 2. 什么是SolrCloud SolrCloud(solr 云)是Solr提供的分布式搜索方案,当你需要大规模,容错,分布式索引和检索能力时使用 SolrCloud.当一个系统的索引数据量少的时候是不需要使用SolrCloud的,当索引量很大,搜索请求并发很高,这时需要使用SolrCloud来满足这些需求. So

SpringBoot中使用rabbitmq,activemq消息队列和rest服务的调用

1. activemq 首先引入依赖 pom.xml文件 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-activemq</artifactId> </dependency> 创建一个配置队列类 JMSConfiguration.java package com.wangx.boot.util; impo

2015年12月10日 spring初级知识讲解(三)Spring消息之activeMQ消息队列

基础 JMS消息 一.下载ActiveMQ并安装 地址:http://activemq.apache.org/ 最新版本:5.13.0 下载完后解压缩到本地硬盘中,解压目录中activemq-core-5.13.0.jar,这就是ActiveMQ提供给我们的API. 在bin目录中,找到用于启动ActiveMQ的脚本,运行脚本后ActiveMQ就准备好了,可以使用它进行消息代理. 访问http://127.0.0.1:8161/admin/能看到如下则表示安装成功了. 二.在Spring中搭建消

消息队列简介

一.概述 计算机科学中,消息队列和邮箱是用于进程间或者线程与同一进行间通讯的软件工程组件.他们都是消息传传输控制队列. 消息队列是发布/订阅模型的变种,是较大的面向消息的中间件的一部分.多数消息系统支持发布/订阅和消息队列模型的API,如JMS(Java Message Service). 消息队列提供异步的通讯协议,这就意味着消息发送者和消息接收者不需要在同一时间与消息队列交互.消息入队直到接收者来读取.消息队列都有单条消息大小的限制,入队消息的数目也有限制. 消息队列的主要应用是在不同计算机

ActiveMQ消息队列介绍(转)

ActiveMQ是一个开源兼容Java Message Service (JMS) 1.1面向消息的中件间. 来自Apache Software Foundation. ActiveMQ提供松耦合的应用程序架构. 先来看两个应用通过RPC通讯的紧耦合: 通过面向消息的中件间, 架构演变为: 我们看到应用程序1发送message到中件间, 应用程序2从中件间接收message. ActiveMQ提供了灵活的应用程序架构. ActiveMQ消息存储也是FIFO: 什么时候使用ActiveMQ: 1.