RabbitMQ知识点总结

280 阅读1分钟

RabbitMQ交换机

交换机可以绑定队列,生产者将消息发送个交换机,交换机交给队列,消费者从队列中取消息。

  • Fanout Exchange(扇形交换器):可以绑定多个队列,同一个消息会向所有绑定的队列中发送。
  • Direct Exchange(直连交换器 默认):可以绑定多个队列,同一个消息会向所有绑定的并符合规则的队列中发送,这个规则只能有一个单词。如果多个消费者绑定同一个队列会采用公平调度的方式获取消息。
  • Topic Exchange(主题交换器):可以绑定多个队列,同一个消息会向所有绑定的并符合规则的队列中发送,这个规则可以有多个单词用“.”分割,其中“*”代表一个单词,“#”表示0个或多个字符。如果多个消费者绑定同一个队列会采用公平调度的方式获取消息。
  • Headers Exchange

RabbitMQ的使用

  1. 启动rabbitmq。

    # ./rabbitmq-server -detached
    
  2. 停止命令,如果无法停止,使用kill -9 进程号进行关闭。

    # ./rabbitmqctl stop_app
    
  3. 查看web管理界面

    默认可以在安装rabbitmq的电脑上通过用户名:guest密码guest进行访问web管理界面
    端口号:15672(放行端口,或关闭防火墙)

  4. 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 ".*" ".*" ".*"