M守护神 2019-11-05
百度百科有这么一句话:
MQ是消费-生产者模型的一个典型的代表,一端往消息队列中不断写入消息, 而另一端则可以读取或者订阅队列中的消息。 MQ和JMS类似,但不同的是JMS是SUN JAVA消息中间件服务的一个标准和API定义, 而MQ则是遵循了AMQP协议的具体实现和产品。
他的官网中用大大的黑粗字体写着:
RabbitMQ is the most widely deployed open source message broker.
由此可见,RabbitMQ是一个消息中间件,生产者生成消息,消费者消费消息,它遵循AMQP(高级消息队列协议),是最广泛部署的开源消息代理。
另外,RabbitMQ是用Erlang语言实现的,它有几个概念:
broker:消息队列服务器实体。 exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。 queue:消息队列,每个消息都会被投入到一个或多个队列。 binding:绑定,它的作用就是把exchange和queue按照路由规则绑定起来。 routing Key:路由关键字,exchange根据这个关键字进行消息投递。 vhost:虚拟主机,一个broker里可以开设多个vhost,用作不同用户的权限分离。 producer:消息生产者,就是投递消息的程序。 consumer:消息消费者,就是接受消息的程序。 channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。
由于RabbitMQ是用Erlang语言编写的,因此需要先安装Erlang。
1.查看Erlang和RabbitMQ匹配表,
2.下载并安装Erlang
3.增加环境变量ERLANG_HOME=D:\erl9.3(这里的目录是我的安装目录,你要换成自己的目录)
4.修改环境变量Path,在原来的值后面加上“;%ERLANG_HOME%\bin”
5.下载并安装RabbitMQ
6.增加环境变量RABBITMQ_HOME=D:\RabbitMQ Server\rabbitmq_server-3.7.5(这里的目录是我的安装目录,你要换成自己的目录)
7.改环境变量Path,在原来的值后面加上“;%RABBITMQ_HOME%\sbin”
注意:Erlang和RabbitMQ的安装路径不要有空格或者中文,因为它们不能被识别
1.在D:\RabbitMQ Server\rabbitmq_server-3.7.5\sbin页面执行cmd
2.运行命令rabbitmq-plugins enable rabbitmq_management 开启Web管理插件
3.通过浏览器访问http://localhost:15672,并通过默认用户guest进行登录,密码也是guest,登录后的页面:
如果插件不能正确安装,管控页面不能正常打开,可以清除C:\Users\Administrator\AppData\Roaming\RabbitMQ\db里面的文件,重新安装RabbitMQ即可。
参考视频: