rabbit mq 与JMS
MQ的消费-生产者模型的一个典型的代表,一端往消息队列中不断的写入消息,而另一端则可以读取或者订阅队列中的消息。MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义,而MQ则是遵循了AMQP协议的具体实现和产品。
MQ 有很多产品:IBM的,rabbitmq, activemq 等。
这里介绍的rabbitmq 只支持点对点的方式。所以没有完全实现JMS的标准,所以说它不是一个JMS产品,而rabitmq 和Jobss JMS 它们实现了JMS的各项标准,是开源的JMS产品。
rabbitmq 的特点我简的理解有如下方面:支持集群,速度和性能可能会高于其他MQ产品。而且听朋友们提到rabbitmq 不会丢失消息,稳定性要好。还有一个优点为是消息的消费者可以时间无关。
缺点是他本身只支持点对点的消费方式,没有实现JMS标准,在功能上不会有那么强大。好在它提供接了一些监听接口,我们实现这些接口能满足应用对消息的基本需求。
这里介绍rabbitmq环境找寻和接发消息。
(一)官方网站:[url]http://www.rabbitmq.com, [/url]了解一个技术的最好方式是去他的官方网站。
(二)rabbitmq 服务器环境搭建
rabbitmq的服务器因操作系统不同有多个版本。这里以XP为例。请见
http://www.rabbitmq.com/install-windows.html所需要下载的软件Erlang和rabbitmqserver都可以在该地址下载.
先下载安装Erlang,并将erlang bin目录加至PATH
Firstly, download and run the Erlang Windows Binary File. It takes around 5 minutes.
再下载安装rabbintmq server.
second download and run rabbitmq-server-2.8.4.exe
最后启动 rabbitmq_server-2.8.4\sbin\rabbitmq-server.bat
以上就是rabbitmq的服务器搭建过程.
(三)消息发送和接收:
rabbintmq 支持如下:请见
http://www.rabbitmq.com/getstarted.htmlC# (using .net/c# client)
erlang (using erlang client)
java (using java client)
perl (using Net::RabbitFoot)
php (using a fork of php-amqplib)
python (using pika)
python-puka (using puka)
ruby (using amqp gem)
下载java客户端:
发送消息代码这里就不写了。因为在官方网站上已经提供代码:请见:
http://www.rabbitmq.com/getstarted.html这里举了六个例子。主要是描述RabbitMQ 的两大核心组件是 Exchange 和 Queue的特点
分享到:
相关推荐
消息队列MQ(rabbitMQ)
**MQ-RabbitMQ介绍** RabbitMQ是一款开源的消息队列系统,基于AMQP(Advanced Message Queuing Protocol)协议实现,广泛应用于分布式系统中的异步处理、解耦和扩展性提升。它由Erlang编程语言编写,具备高可用性、...
RabbitMQ作为一款广泛应用的消息中间件,以其稳定性和灵活性深受开发者喜爱。Spring Boot作为Java开发中的轻量级框架,简化了配置和集成各种技术,包括RabbitMQ。本套教程将详细介绍如何在Spring Boot项目中整合...
### MQ选型之RabbitMQ #### 一、MQ与消息队列概念解析 MQ,即消息队列(Message Queue),是一种应用程序间通信方法,通过消息的存储与转发来实现组件间的解耦。队列可以被形象地理解为一种数据结构,它遵循先进先出...
RabbitMQ是一款开源的消息队列系统,广泛应用于分布式系统中,用于处理异步任务和解耦组件间的通信。它的核心是基于AMQP(Advanced Message Queuing Protocol)协议,确保了跨平台的兼容性和标准化的数据交换。在本...
RabbitMQ是一款开源的消息代理和队列服务器,它基于AMQP(Advanced Message Queuing Protocol)协议,用于在分布式系统中传递消息。通过RabbitMQ,生产者可以发送消息,而消费者可以在准备好处理时接收这些消息,...
在本项目中,我们探讨的是一个基于Qt框架的RabbitMQ客户端工程,它利用了QAMQP库来实现与RabbitMQ服务器的交互。Qt是一个跨平台的C++图形用户界面库,提供了丰富的UI开发工具和网络功能,使其成为构建桌面和移动应用...
Flink是一个开源的流处理框架,提供低延迟、高吞吐量的数据处理,而RabbitMQ是一个广泛使用的开源消息中间件,用于解耦应用间的数据通信。 在描述中没有给出具体细节,但我们可以假设这个项目或教程是关于如何使用...
MQClient用于与RabbitMQ的一个消息客户端转发程序,他负责监听RabbitMQ中的队列,并即时获取队列消息,按照配置进行转发消息。对消息处理结果监控,提供失败多次重试、失败邮件、转发失败队列等功能。
RabbitMQ是一款开源的消息队列系统,主要用于处理异步任务和分布式系统中的消息传递。它基于AMQP(Advanced Message Queuing Protocol)协议,提供高可用性、可扩展性和可靠性的消息服务。在Windows环境下,RabbitMQ...
在IT行业中,消息队列(Message Queue,MQ)是一种常用于分布式系统中解耦组件、提高系统可扩展性和容错性的技术。RabbitMQ作为一款开源的消息中间件,被广泛应用于各种项目中。本篇文章将重点讲解如何进行RabbitMQ...
标签中的“rabbit mq”和“rabbitmq 测试工具”重申了这个工具与RabbitMQ的关联,强调其专业性和针对性。 压缩包内的文件名称列表揭示了这个工具的一些关键组件: 1. RabbitMQTool.exe.config:这是应用程序的配置...
RabbitMQ 是一个开源的消息队列系统,它基于 Advanced Message Queuing Protocol (AMQP) 标准实现,广泛应用于各种分布式系统中,尤其在微服务架构和大型互联网应用中扮演着重要角色。以下是关于RabbitMQ及其相关...
消息队列(MQ)是一种中间件技术,用于在分布式系统中解耦生产者和消费者,通过缓存消息来提高系统的可扩展性和可靠性。基于RabbitMQ实现的消息队列组件是这个话题的核心,RabbitMQ是一个开源的消息代理和队列服务器...
RabbitMQ是一个开源的消息代理和队列服务器,广泛应用于各种业务场景,而Spring框架则是一个企业级应用开发的Java平台,提供了丰富的功能和良好的社区支持。将RabbitMQ与Spring整合,可以方便地在Spring应用中使用...
RabbitMQ是一个开源的消息代理和队列服务器,它遵循AMQP(Advanced Message Queuing Protocol)协议,提供高可用性、可靠性和可扩展性。 【描述】: 在TP6中应用RabbitMQ,主要涉及以下几个步骤和知识点: 1. **...
用户操作日志对于每一个系统来说是不可或缺的,并且操作日志应该单独抽取为一个模块业务,不应该与主业务系统之间耦合在一起。 故而我们需要将其单独抽出并以异步的方式与主模块进行异步通信交互数据。 要求:采用...
比较MQ产品之RabbitMQ与Kafka.zip
4. **创建 RabbitMQ 配置类**:定义一个配置类,使用 `@EnableRabbit` 注解启动 RabbitMQ 的自动配置,并配置交换机(exchange)、队列(queue)和绑定(binding)。 5. **创建消息发送服务**:创建一个服务类,...
RabbitMQ是目前最流行的消息队列系统之一,它基于AMQP(Advanced Message Queuing Protocol)协议,提供可靠的消息传递服务。本篇文章将深入探讨如何使用RabbitMQ实现消息插队,以"多人投资"为例,重点讲解手动投资...