ActiveMQ

什么是MQ

MQ是消息队列,是一个消息中间件,是应用程序对应用程序的一种通信方法

MQ有哪些常见的产品

ActiveMQ、RabbitMQ、kafka

ActiveMQ介绍

ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了,但是JMS在当今的J2EE应用中间仍然扮演着特殊的地位

JMS

JMS(Java Message Service消息服务的规范)。类似于jdbc(Java Database Connectivity连接数据库的规范)。用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。(

    1. 同步交互:指发送一个请求,需要等待返回,然后才能够发送下一个请求,有个等待过程;
    2. 异步交互:指发送一个请求,不需要等待返回,随时可以再发送下一个请求,即不需要等待。

ActiveMQ的消息形式

一种是点对点的,即一个生产者和一个消费者一一对应;

另一种是发布/订阅模式,即一个生产者产生消息并进行发送后,可以由多个消费者进行接收。

5中不同的消息正文格式

JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。

  · StreamMessage -- Java原始值的数据流

  · MapMessage--一套名称-值对

  · TextMessage--一个字符串对象

  · ObjectMessage--一个序列化的 Java对象

  · BytesMessage--一个字节的数据流

好啦,今天就先到这儿啦

时间: 2024-10-08 01:56:48

ActiveMQ的相关文章

ActiveMQ集群Master-Slave + Broker Cluster模式

一.简介 Master-Slave集群: 由至少3个节点组成,一个Master节点,其他为Slave节点.只有Master节点对外提供服务,Slave节点处于等待状态.当主节点宕机后,从节点会推举出一个节点出来成为新的Master节点,继续提供服务. 优点是可以解决多服务热备的高可用问题,缺点是无法解决负载均衡和分布式的问题. Broker Cluster集群: Broker-Cluster部署方式中,各个broker通过网络互相连接,并共享queue.当broker-A上面指定的queue-A

rabbitMQ、activeMQ、zeroMQ、Kafka、Redis 比较

Kafka作为时下最流行的开源消息系统,被广泛地应用在数据缓冲.异步通信.汇集日志.系统解耦等方面.相比较于RocketMQ等其他常见消息系统,Kafka在保障了大部分功能特性的同时,还提供了超一流的读写性能. 针对Kafka性能方面进行简单分析,相关数据请参考:https://segmentfault.com/a/1190000003985468,下面介绍一下Kafka的架构和涉及到的名词: Topic:用于划分Message的逻辑概念,一个Topic可以分布在多个Broker上. Parti

在Spring下集成ActiveMQ

1.参考文献 Spring集成ActiveMQ配置 Spring JMS异步发收消息 ActiveMQ 2.环境 在前面的一篇ActiveMQ入门实例中我们实现了消息的异步传送,这篇博文将如何在spring环境下集成ActiveMQ.如果要在spring下集成ActiveMQ,那么就需要将如下jar包导入项目: 本文有两篇参考文献,因此有两个实例,项目结构如下图所示: 3.实例1 信息发送者:HelloSender.java package edu.sjtu.erplab.springactiv

Spring Boot集成ActiveMQ

在Spring Boot中集成ActiveMQ相对还是比较简单的,都不需要安装什么服务,默认使用内存的activeMQ,当然配合ActiveMQ Server会更好.在这里我们简单介绍怎么使用,本节主要分以下几个步骤: (1) 新建Maven Java Project; (2) 在pom.xml引入依赖: (3) 编码测试 (4) 配置信息 接下来看看各个步骤的操作: (1) 新建Maven Java Project; 新建一个工程取名为spring-boot-activemq (2) 在pom

ActiveMQ + NodeJS + Stomp 极简入门

前提 安装ActiveMQ和Nodejs 测试步骤 1.执行bin\win32\activemq.bat启动MQ服务 2. 打开http://localhost:8161/admin/topics.jsp 用户名和密码都是 admin 3. 下载Stomp npm install stomp-client 4. js的测试代码 var Stomp = require('stomp-client'); var destination = '/topic/myTopic'; var client =

ActiveMQ消息游标 --转载

转:http://blog.csdn.net/m13321169565/article/details/8081358 在Activemq以前的版本中,broker会把待发送的消息保存在内存中.这种方式的缺陷是当消费者消费的速度赶不上生产者的速度时,会在broker的内存中积攒大量的消息,当达到一个限额后,broker就不再接收消息.这时生产者就被阻塞了,直到broker将内存清理能保存消息后才能继续发送.     在5.0版本后,Activemq实现了一种新的内存模型来防止慢消费者阻塞快速生产

Spring下ActiveMQ实战

MessageQueue是分布式的系统里经常要用到的组件,一般来说,当需要把消息跨网段.跨集群的分发出去,就可以用这个.一些典型的示例就是: 1.集群A中的消息需要发送给多个机器共享: 2.集群A中消息需要主动推送,但彼此的网络不是互通的(如集群A只有过HA才能被外界访问): 当然上面的几个点,除了用MQ还有其它实现方式,但是MQ无疑是非常适合用来做这些事的.众多MQ中,ActiveMQ是比较有名气也很稳定的,它发送消息的成本非常廉价,支持Queue与Topic两种消息机制.本文主要就是讲如何在

activemq的安装与使用

一.activemq的安装 环境:CentOS 6.JDK8 1. 确保系统已安装了可用的jdk版本2. 从网上下载 Linux 版的 ActiveMQ( apache-activemq-5.11.1-bin.tar.gz),然后使用xftp上传到linux虚拟机已经建好的文件夹下 3. 解压安装# tar -zxvf apache-activemq-5.11.1-bin.tar.gz# mv apache-activemq-5.11.1 activemq如果启动脚本 activemq 没有可执

ActiveMQ消息持久化-LevelDB

LevelDB 这种文件系统是从ActiveMQ5.8之后引进的,它和KahaDB非常相似,也是基于文件的本地数据库储存形式,但是它提供比KahaDB更快的持久性.与KahaDB不同的是,它不是使用传统的B-树来实现对日志数据的提前写,而是使用基于索引的LevelDB. <broker brokerName="broker" ... >   ...   <persistenceAdapter>     <levelDB directory="ac

剑指架构师系列-ActiveMQ队列的使用

安装ActiveMQ只需要下载包后解压,然后就可以启动与关闭ActiveMQ了,如下: ./activemq start ./activemq stop 访问管理页面: http://10.10.20.20:8161/admin 用户名和密码默认为:admin/admin spring.activemq.broker-url -- 指定ActiveMQ broker的URL,默认自动生成. spring.activemq.in-memory -- 是否是内存模式,默认为true. spring.