RabbitMQ消息队列

安装Erlang

由于RabbitMQ依赖Erlang, 所以需要先安装Erlang

添加erlang solutions源

wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
yum install erlang

从EPEL源安装(这种方式安装的Erlang版本可能不是最新的,有时候不能满足RabbitMQ需要的最低版本)

启动EPEL源
	yum install epel-release 
安装erlang
	yum install erlang

yum install socat
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm 

安装时如果遇到下面的依赖错误(缺少socat依赖包)
Error: Package: socat-1.7.2.3-1.el6.x86_64 (epel)
    Requires: libreadline.so.5()(64bit)
yum -y install socat

启动操作

systemctl [ status | stop | start | restart ] rabbitmq-server  

rabbitmqctl命令

查看当前所有用户
	rabbitmqctl list_users

查看默认guest用户的权限
	rabbitmqctl list_user_permissions guest

由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户
	rabbitmqctl delete_user guest

添加新用户
	rabbitmqctl add_user username password

设置用户tag
	rabbitmqctl set_user_tags username administrator

赋予用户默认vhost的全部操作权限
	rabbitmqctl set_permissions -p / username ".*" ".*" ".*"

查看用户的权限
	rabbitmqctl list_user_permissions username

清除用户密码
	clear_password

开启web管理接口

RabbitMQ自带web管理界面,只需要启动插件便可以使用。

rabbitmq-plugins enable rabbitmq_management

访问:http://localhost:15672

输入用户名和密码进入web界面

配置文件,将需要自定义的配置添加到对应文件中
/etc/rabbitmq/rabbitmq.config

开启用户远程访问

默认情况下,RabbitMQ的默认的guest用户只允许本机访问,要开启远程访问,只需要将配置文件中的loopback_users列表置为空即可,如下:
	{loopback_users, []}
	
新添加的用户,直接就可以从远程访问,限制远程访问只需要添加用户名到如下列表中,如只允许admin用户本机访问。
	{loopback_users, ["admin"]}

rabbitmq常见概念

AMQP	高级消息队列协议advanced message queuing protocol 是rabbitmq使用的消息协议
生产者Producer	发送消息的应用
消费者Consumer	接受消息的应用
队列Queue		存储消息的缓存
消息Message		由生产者通过rabbitmq发送给消费者的信息
连接Connection	连接rabbitmq和应用服务器的TCP连接
通道Channel		连接里的一个虚拟通道,当你通过消息队列发送或者接收消息时,这个操作都是通过通道进行的
交换机Exchange	交换机负责从生产者那里接受消息,并根据交换类型分发到对应的消息队列里,要实现消息的接受,一个队列必须绑定一个交换机
绑定Binding		绑定是队列和交换机的一个关联连接
路由键Routing Key	路由键是供交换机查看并根据键来决定如何分发消息队列的一个键,路由键可以说是消息的目的地址

生产者Producer 发送/发布消息到代理 ->  消费者Consumer  从代理接受消息,即使生产者和消费者不在同一机器上,rabbitmq也可以扮演代理中间件角色
生产者发送消息时,并不是直接把消息发送到队列里,而是使用交换机Exchange来发送
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值