MQ(消息队列)

Posted cpbk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MQ(消息队列)相关的知识,希望对你有一定的参考价值。

MQ全称为Message Queue,是一种应用程序对应用程序的通信方法,应用程序通过读写出入消息队列的数据来通信,从而无需专用连接来链接他们(如RPC)。

消息队列是典型的生产者和消费者模型,生产者和消费者只关心消息的发送和接受,没有业务逻辑的侵入,实现了生产者和消费者的解耦。

 

AMQP:一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息中间件设计。

JMS:实际指JMS API,是由sun公司早起提出的消息标准,意在为java应用提供统一的消息操作,包括create,send,receive。

 

AMQP与JMS的区别:

JMS定义了统一的接口,来对消息操作进行统一;AMQP是通过规定协议来统一数据交换的格式。

JMS限定了必须使用java语言;AMQP只是协议不规定实现方式,因此是跨语言的。

JMS规定了两种消息模型;AMQP的消息模型更加丰富。

 

常见的MQ产品

技术图片

 rabbitMQ是一个开源的MQ产品:

  1.安装

           配置erlang,配置官方的配置文件后在使用yum install erlang,进行安装(否则直接安装的erlang 和新版的rabbitmq要求的版本不匹配)

          下载rabbit的rpm 安装包,使用rpm进行安装

  2.安装完成后

         service rabbitmq-server start  --启动服务

   rabbitmq-plugins enable rabbitmq_management  --enable网页版管理插件
(默认的guest只能通过localhost:15672登陆,因此需要去官方下载一个配置文件模板(rabbitmq.conf),然后放到 /etc/rabbitmq/目录下)
技术图片
取消图中配置的注释,使得guest用户可以远程登录。修改配置文件后,重启服务(service rabbitmq-server restart),然后就可以使用guset登陆进网页管理界面。




       

以上是关于MQ(消息队列)的主要内容,如果未能解决你的问题,请参考以下文章

消息队列 mq 发送错误。错误的文件描述符

PHP+RabbitMQ消息队列的配置和使用方法MQ

PHP+RabbitMQ消息队列的配置和使用方法MQ

Kafka 服务异步通信 -- 消息队列MQ简介Kafak简介Kafak环境搭建

mq消息队列永远不清理吗

消息队列MQ对比