RabbitMQ消息队列的安装使用方法介绍

RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现。AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等),因此,在 2006 年的 6 月,Cisco 、Redhat、iMatix 等联合制定了 AMQP 的公开标准。

RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统。在django+celery中默认使用rabbitmq作为broker 。

安装

1、windows安装

主要为了程序测试。

先下载安装erlang,下载地址:http://www.erlang.org/download.html

安装好后再下载安装rabbitmq,下载地址:https://www.rabbitmq.com/install-windows.html

和普通程序安装步骤一样,安装完成后在开始菜单中打开“rabbitmq server”中的start启动服务。

2、ubuntu安装

编译源配置文件/etc/apt/sources.list,添加如下内容。

deb http://www.rabbitmq.com/debian/ testing main

添加信任公钥

wget https://www.rabbitmq.com/rabbitmq-signing-key-public.asc
sudo apt-key add rabbitmq-signing-key-public.asc

安装

sudo apt-get update
sudo apt-get install rabbitmq-server

添加用户名密码

默认rabbitmq有一个guest用户,但是只能本地访问,不需要密码。如果rabbitmq安装在其他机子那么就必须使用用户名密码了。下面是创建user和vhost的命令。

sudo rabbitmqctl add_user myuser mypassword
sudo rabbitmqctl add_vhost myvhost
sudo rabbitmqctl set_permissions -p myvhost myuser ".*" ".*" ".*"

添加完成之后就可以使用了。深入的暂时没有了解,django+celery+rabbitmq暂时够用

时间: 2024-08-22 15:16:01

RabbitMQ消息队列的安装使用方法介绍的相关文章

RabbitMQ消息队列(一): Detailed Introduction 详细介绍

1. 历史     RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue )的开源实现.AMQP 的出现其实也是应了广大人民群众的需求,虽然在同步消息通讯的世界里有很多公开标准(如 COBAR的 IIOP ,或者是 SOAP 等),但是在异步消息处理中却不是这样,只有大企业有一些商业实现(如微软的 MSMQ ,IBM 的 Websphere MQ 等),因此,在 2006 年的 6 月,Cisco .Redhat.iMatix 等联合制定了 AMQP

RabbitMQ消息队列(四):分发到多Consumer(Publish/Subscribe)

 <=== RabbitMQ消息队列(三):任务分发机制            上篇文章中,我们把每个Message都是deliver到某个Consumer.在这篇文章中,我们将会将同一个Message deliver到多个Consumer中.这个模式也被成为 "publish / subscribe".     这篇文章中,我们将创建一个日志系统,它包含两个部分:第一个部分是发出log(Producer),第二个部分接收到并打印(Consumer). 我们将构建两个Consum

RabbitMQ消息队列(二):”Hello, World“

<==RabbitMQ消息队列(一): Detailed Introduction 详细介绍        本文将使用Python(pika 0.9.8)实现从Producer到Consumer传递数据"Hello, World".      首先复习一下上篇所学:RabbitMQ实现了AMQP定义的消息队列.它实现的功能"非常简单":从Producer接收数据然后传递到Consumer.它能保证多并发,数据安全传递,可扩展.      和任何的Hello w

RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)

        在云计算环境中,很多时候需要用它其他机器的计算资源,我们有可能会在接收到Message进行处理时,会把一部分计算任务分配到其他节点来完成.那么,RabbitMQ如何使用RPC呢?在本篇文章中,我们将会通过其它节点求来斐波纳契完成示例. 1. 客户端接口 Client interface         为了展示一个RPC服务是如何使用的,我们将创建一段很简单的客户端class. 它将会向外提供名字为call的函数,这个call会发送RPC请求并且阻塞知道收到RPC运算的结果.代码

RabbitMQ消息队列(三):任务分发机制

<===  RabbitMQ消息队列(二):"Hello, World"    在上篇文章中,我们解决了从发送端(Producer)向接收端(Consumer)发送"Hello World"的问题.在实际的应用场景中,这是远远不够的.从本篇文章开始,我们将结合更加实际的应用场景来讲解更多的高级用法.    当有Consumer需要大量的运算时,RabbitMQ Server需要一定的分发机制来balance每个Consumer的load.试想一下,对于web

RabbitMQ消息队列(九):Publisher的消息确认机制

       在前面的文章中提到了queue和consumer之间的消息确认机制:通过设置ack.那么Publisher能不到知道他post的Message有没有到达queue,甚至更近一步,是否被某个Consumer处理呢?毕竟对于一些非常重要的数据,可能Publisher需要确认某个消息已经被正确处理.       在我们的系统中,我们没有是实现这种确认,也就是说,不管Message是否被Consume了,Publisher不会去care.他只是将自己的状态publish给上层,由上层的逻辑

RabbitMQ消息队列(六):使用主题进行消息分发

         在上篇文章RabbitMQ消息队列(五):Routing 消息路由 中,我们实现了一个简单的日志系统.Consumer可以监听不同severity的log.但是,这也是它之所以叫做简单日志系统的原因,因为是仅仅能够通过severity设定.不支持更多的标准.         比如syslog unix的日志工具,它可以通过severity (info/warn/crit...) 和模块(auth/cron/kern...).这可能更是我们想要的:我们可以仅仅需要cron模块的l

RabbitMQ消息队列(1):RabbitMQ入门

oldriver老司机技术手册 分享 RabbitMQ消息队列(1):RabbitMQ入门

RabbitMQ消息队列(2):工作队列之消息分发机制

oldriver老司机技术手册 分享 RabbitMQ消息队列(2):工作队列之消息分发机制