一、什么是MQ?
MQ为Message Queue,即是“消息队列”,它是应用程序和应用程序之间的同新方法。
遵循Message Queue规则开发出来的,具有消息队列特点的产品,都可以称之为“消息中间件”(JMS消息服务器)。
目前业内有很多消息中间件产品,例如Apache出品的“ActiveMQ”和“Kafka”(分布式发布订阅消息系统)、Rabbit团队的“RabbitMQ”,以及Metamorphosis、DoNetMQ、beanstalkd等等其它消息队列中间件。
二、什么是RabbitMQ?
RabbitMQ是Rabbit团队开发的一个开源的消息队列组件,在AMQP基础上完成的,可以复用的企业消息系统。
RabbitMQ是负责消息的生产和消费,我们可以理解为,RabbitMQ是一个仓库的中转站,所有的程序消息都发送给RabbitMQ,然后由RabbitMQ来负责把这些消息来运输给消费者。
在计算机领域中,有很多协议,例如HTTP协议、TCP协议、SOAP协议、SVN协议等等。而AMQP是RabbitMQ的基础,其英文全称为“Advanced Message Queuing Protocol”,它是一个提供统一消息服务的应用层标准高级消息队列协议。
说白了AMQP就是消息队列的一个协议。
RabbitMQ是使用Erlang语言开发的,Erlang是一个通用的面向并发的编程语言。它是1987年由瑞典电信设备制造商爱立信所辖的CS-Lab开发,目的是创造一种可以应对大规模并发活动的编程语言和运行环境。这里我们不需要了解Erlang语言,只需要知道RabbitMQ的源码类型即可。
RabbitMQ支持主流的操作系统,Linux、Windows、MacOX等。
RabbitMQ对多种开发语言支持,其为很多开发语言提供了各自的驱动。支持的语言有:Java、
Python、Ruby、.NET、PHP、C/C++、node.js等
三、RabbitMQ的资料和学习途径。
学习RabbitMQ的最权威的学习参考资料,肯定是官方网站最权威。RabbitMQ的官方网站为:www.rabbitmq.com。
登录进官网首页可以看到如下页面:
我们可以通过导航栏的“Get Started”来开始RabbitMQ的安装和使用,可以通过“Support”查看RabbitMQ所支持的环境,可以通过“Community”与RabbitMQ官方联系,也可以通过“Docs”进行文档资料的下载,最后通过“Bolg”可以查看RabbitMQ的官方博文。
四、学习内容
学习RabbitMQ主要是学习它的6种队列:
这里最后一种我们暂时不学习,因为RPC是远程调用的模式,严格意义上来讲已经脱离了
消息队列的范畴了,所以这里不对该队列模式进行讲解。(想要学习RPC,推荐学习阿里的Dubbo)
关于RabbitMQ就介绍到这里,后面我们讲学习其安装以及运行。
标签:协议,AMQP,队列,简介,RabbitMQ,学习,消息,消息中间件 From: https://blog.51cto.com/u_16012040/6131012