博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RabbitMQ 的安装与工作模式
阅读量:6819 次
发布时间:2019-06-26

本文共 2039 字,大约阅读时间需要 6 分钟。

  hot3.png

RabbitMQ

  • 概念:

         交换机(exchange type)把消息推送到队列的方法:

    • fanout:不处理路由键,转发到所有绑定的队列上

    • direct:处理路由键,必须完全匹配,即路由键字符串相同才会转发

    • topic:路由键模式匹配,此时队列需要绑定要一个模式上。符号“#”匹配一个或多个词,符号“*”匹配不多不少一个词。因此“audit.#”能够匹配到“audit.irs.corporate”,但是“audit.*” 只会匹配到“audit.irs”

消息处理的基本流程

  • producer:生产者,是消息产生的源头。

  • exchange:交换机,可以理解为具有路由表的路由规则。

  • queues:队列,装载消息的缓存容器。

  • consumer:消费者,连接到队列并取走消息的客户端。

            注释:RabbitMQ消息模型的核心理念是:发布者(producer)不会直接发送任何消息给队列。事实上,发布者(producer)甚至不知道消息是否已经被投递到队列。

                    发布者(producer)只需要把消息发送给一个交换机(exchange)。交换机非常简单,它一边从发布者方接收消息,一边把消息推送到队列。交换机必须知道如何处理它接收到的消息,是应该推送到指定的队列还是是多个队列,或者是直接忽略消息。这些规则是通过交换机类型(exchange type)来定义的

  • channel:通道,amqp支持一个tcp连接上启用多个mq通信通道,每个通道都可以被作为通信流。

  • binding:绑定,实际上可以理解为交换机的路由规则。每个消息都有一个称为路由键的属性(routing key),就是一个简单的字符串。一个绑定将【交换机,路由键,消息送达队列】三者绑定在一起,形成一条路由规则。

    注释: 绑定(binding)是指交换机(exchange)和队列(queue)的关系。可以简单理解为:这个队列(queue)对这个交换机(exchange)的消息感兴趣. 绑定的时候可以带上一个额外的routing_key参数。为了避免与basic_publish的参数混淆,我们把它叫做绑定键(binding key). 绑定键的意义取决于交换机(exchange)的类型。我们之前使用过的扇型交换机(fanout exchanges)会忽略这个值

        图解:

            114236_MnlX_734134.png

rabbitMQ 很不错的中文介绍:  

安装:

rabbitmq下载地址:

一:安装需要的包

wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm

rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

yum  -y install erlang

yum -y install xmlto

yum -y install python-simplejson

yum -y install python

yum -y install zip unzip

二:下载rabbitMQ并安装rabbitmq与插件

wget 

tar zxvf 

cd 

make TARGET_DIR=/usr/local/rabbitmq SBIN_DIR=/usr/local/rabbitmq/sbin MAN_DIR=/usr/local/rabbitmq/man DOC_INSTALL_DIR=/usr/local/rabbitmq/doc install

rabbitmq 安装 完成 然后添加插件

先创建一个目录: mkdir /etc/rabbitmq/

然后执行命令:  /usr/local/rabbitmq/sbin/rabbitmq-plugins enable rabbitmq_management

如果不报错rabbitmq 与 插件就安装好了

三启动 rabbitmq

/usr/local/rabbitmq/sbin/rabbitmq-server &  以后太运行方式启动

启动后本机直接访问    使用guest帐号登陆即可密码也是guest

如果不是本机直接访问需要修改/usr/local/rabbitmq/ebin/rabbit.app文件里的内容

 把 {loopback_users,[<<"guest">>]}  改成  {loopback_users,[]}

然后重启rabbitmq 就可以通过http://IP:15672  访问插件的页面了   初始账户与密码都是guest

/usr/local/sbin/rabbitmqctl stop   停止

以上文字有拷贝有手打,参考文章如下:

http://valleu87.blog.163.com/blog/static/1967034322013101355739758/

转载于:https://my.oschina.net/denglz/blog/343149

你可能感兴趣的文章
Java Enum
查看>>
method="post" 用户名和密码不显示在网址里
查看>>
LeetCode----8. String to Integer (atoi)(Java)
查看>>
JSP标签
查看>>
Python--day65--母版和继承的基本使用
查看>>
在python 3.6的eclipse中,导入from lxml import etree老是提示,Unresolved import:etree的错误...
查看>>
经纬度计算距离
查看>>
Linux 在添加一个新账号后却没有权限怎么办
查看>>
React 源码剖析系列 - 不可思议的 react diff
查看>>
走近抽象类与抽象方法
查看>>
4. 寻找两个有序数组的中位数
查看>>
React组件开发总结
查看>>
各种符号
查看>>
大道至简,职场上做人做事做管理
查看>>
抗干扰的秘诀:分类、整理与专注
查看>>
Number of Connected Components in an Undirected Graph
查看>>
BZOJ 3143 游走(高斯消元)
查看>>
SpringBoot 配置文件存放位置及读取顺序
查看>>
min.js格式化工具
查看>>
《软件工程-理论、方法与实践》读书笔记一
查看>>