RabbitMQ交换机
交换机可以绑定队列,生产者将消息发送个交换机,交换机交给队列,消费者从队列中取消息。
- Fanout Exchange(扇形交换器):可以绑定多个队列,同一个消息会向所有绑定的队列中发送。
- Direct Exchange(直连交换器 默认):可以绑定多个队列,同一个消息会向所有绑定的并符合规则的队列中发送,这个规则只能有一个单词。如果多个消费者绑定同一个队列会采用公平调度的方式获取消息。
- Topic Exchange(主题交换器):可以绑定多个队列,同一个消息会向所有绑定的并符合规则的队列中发送,这个规则可以有多个单词用“.”分割,其中“*”代表一个单词,“#”表示0个或多个字符。如果多个消费者绑定同一个队列会采用公平调度的方式获取消息。
- Headers Exchange
RabbitMQ的使用
-
启动rabbitmq。
# ./rabbitmq-server -detached -
停止命令,如果无法停止,使用kill -9 进程号进行关闭。
# ./rabbitmqctl stop_app -
查看web管理界面
默认可以在安装rabbitmq的电脑上通过用户名:guest密码guest进行访问web管理界面
端口号:15672(放行端口,或关闭防火墙) -
RabbitMq账户管理
-
创建账户
语法:./rabbitmqctl add_user username password
# cd /usr/local/rabbitmq/sbin # ./rabbitmqctl add_user mashibing mashibing -
给用户授予管理员角色
其中mashibing为新建用户的用户名
# ./rabbitmqctl set_user_tags mashibing administrator -
给用户授权
"/" 表示虚拟机,mashibing 表示用户名,". " ". " ".*" 表示完整权限
# ./rabbitmqctl set_permissions -p "/" mashibing ".*" ".*" ".*"
-