1、AMQP与JMS

  消息队列实现的主流方式有AMQP(应用层标准消息队列协议,标准为消息中间件设计。主要实现中间件有RabbitMQ)、JMS(Sun公司提供的消息统一操作,类似JDBC这种标准。主要实现中间件有ActiveMQ)。

2、安装与启动RabbitMQ

先安装Erlang 。需要注意的是Erlang 版本与RabbitMQ 版本需要匹配(https://www.rabbitmq.com/which-erlang.html),否则会出错。

 

  举例:win系统安装完成后进入 rabbitmq_server\sbin目录,点击rabbitmq-server即可启动。

rabbitmq在centos下安装 怎么安装rabbitmq_Erlang

如图所示,可以通过任务管理器点击服务查看、管理。

 

 

在centos中的安装:

1、去官网(https://www.rabbitmq.com/)下载好安装包后上传至服务器。

2、安装Erlang  

使用yum仓库安装。

1 yum install esl-erlang_17.3-1~centos~6_amd64.rpm
2 yum install esl-erlang-compat-R14B-1.el6.noarch.rpm

   3、安装RabbitMQ

    进入上传安装包的目录,然后输入命令

rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm

    复制配置文件至etc 目录

cp /usr/share/doc/rabbitmq-server-3.4.1/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config

    编辑修改etc下的配置文件

vim /etc/rabbitmq/rabbitmq.config

    修改内容如下图,注意要去掉后面的逗号

    

rabbitmq在centos下安装 怎么安装rabbitmq_Erlang_02

    ESC ,:wq!

 

    设置RabbitMQ开机自启动,输入下面命令

chkconfig rabbitmq-server on

    4.开启web管理界面

     修改配置后,启动RabbitMQ服务。

service rabbitmq-server start

     RabbitMQ提供了用来管理的web界面,不过默认是关闭的。使用命令开启web端管理界面。

rabbitmq-plugins enable rabbitmq_management

    开启后使用命令重启

service rabbitmq-server restart

    这时候还是访问不了,需要开启防火墙端口。RabbitMQ默认使用15672端口。

/sbin/iptables -I INPUT -p tcp --dport 15672 -j ACCEPT
/etc/rc.d/init.d/iptables save

 

3、管理界面简介

  1、查看登录界面

    输入 ip:15672,进入登录页。使用默认的账号密码 guest/guest 登录。

  

rabbitmq在centos下安装 怎么安装rabbitmq_消息队列_03

  2、主页

  

rabbitmq在centos下安装 怎么安装rabbitmq_消息队列_04

  • Overview:概况总览,如图下面已经有15个交换机(Exchanges,交换机概念后续会写),0个队列(Queues)等。
  • Connections:无论生产者还是消费者,都需要与RabbitMQ建立连接后才可以完成消息的生产和消费,在这里可以查看连接情况
  • Channels:通道,建立连接后,会形成通道,消息的投递获取依赖通道。
  • Exchanges:交换机,用来实现消息的路由
  • Queues:队列,即消息队列,消息存放在队列中,等待消费,消费后被移除队列。

 

  3、添加用户

 

  

上面的Tags选项,其实是指定用户的角色,可选的有以下几个:

  • 超级管理员(administrator)
    可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
  • 监控者(monitoring)
    可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
  • 策略制定者(policymaker)
    可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
  • 普通管理者(management)
    仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
  • 其他
    无法登陆管理控制台,通常就是普通的生产者和消费者。

 

4、设置虚拟主机 Virtual Hosts

  每个用户的Virtual Hosts其实就是一个独立的访问路径,不同用户使用不同路径,各自有自己的队列、交换机,互相不会影响。

  

rabbitmq在centos下安装 怎么安装rabbitmq_消息队列_05

 

 

 

rabbitmq在centos下安装 怎么安装rabbitmq_管理控制_06

 

 

 

rabbitmq在centos下安装 怎么安装rabbitmq_消息队列_07