之前也用过Activemq,最近学习下RabbitMQ,这里整理下学习的过程,跟大家分享下
什么是消息队列?
消息队列本身是一个队列,FIFO(first input first output先进先出),队列里存放的是消息message,主要用在于进程之间或者线程之间的通讯。
不同的进程之间,传递消息的时候,两个进程耦合度过高。如果要改动一个进程,就有可能引发另一个进程的接口需要修改。为了降低耦合度,避免不必要的修改,我们在两个进程中,建立一个中间件,作为两个进程通讯的组件,单独修改一个,就不用修改另一个了。
消息传递的过程中,消息要有标准化、规范化,接收的进程,无法及时消费的话,就需要排队,因此就出现了消息队列。
消息对象的种类:Activemq、rabbitmq、rocketmq,kafka等等
AMQP是一种消息的协议,即Advanced message queuing protocol,一个提供统一消息服务的应用层高级消息队列协议,是应用层协议的一种标准,为面向消息中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不限于开发语言。
rabbitmq 监听端口:15672
这里介绍centos7下安装rabbitmq的步骤
1、下载 erlang solution
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
安装EPEL
yum install epel-release -y
2、安装
登录后
Admin page这里可以添加管理员,并设置账户级别
账号级别有Admin,Monitoring,Policymaker,Management,Impersonator,None
Admin就是超级管理员的权限,可以登录控制台,查看所有消息,可以对用户和策略进行操作
Monitoring是监控者,可以登录控制台,查看节点相关信息,比如进程数、内存磁盘使用情况
Policymaker策略制定者,可以登录控制台,制定策略,但是无法查看节点信息
Manament普通管理员,仅能登录控制台,无法查看节点信息,也无法查看策略
以上的四种级别都需要在启用了management plugins的情况下,才有效。
Impersonator模仿者,不能登录控制台,一般就是普通的生产者和消费者
None就无法登录控制台了
为指定用户,添加虚拟机