1、RabbitMQ管理

(1)权限管理

  物理服务器和虚拟主机都各自有独立的权限管理,用户访问需要设置权限。

  授权命令:rabbitmqctl set permissions [-p vhost] {user) {conf) {write) { read)

       vhost:授予用户可以访问的vohost名称。

       user:访问指定vohost的用户名称。

         conf:用户在那些资源有配置权限的正则表达式

       write:用户在哪些资源上有写权限的正则表达式

       read:用户在那些资源上有读权限的正则表达式

  例如:rabbitmqctl set_permissions -p vhost1  root   " .* "   " .* "  " .* "

(2)用户管理

  单个用户可以访问多个RabbitMQ服务,根据创建用户时赋予的权限执行不同的操作。

  添加用户命令:rabbitmqctl  add_user {username} {password}

  修改用户密码:rabbitmqctl  change_password {username} {newpassword}

  清除用户密码:rabbitmqctl  clear_password {uesrname}

  通过密码验证用户:rabbitmqctl   authenticate_user {username} {password}

  删除用户:rabbitmqctl   delete_user {username}

  查询所有用户:rabbitmqctl   list_user

  设置用户角色:rabbitmqctl   set _user_tags {user} {tags}

(3)Web管理

  访问http://127.0.0.1:15672,默认用户名/密码:guest/guest

  远程RabbitMQ服务guest访问不了。

2、RabbitMQ配置

rabbitmq.config中MQ服务配置信息

tcp_listeners 监听

num_tcp_acceptors 处理TCP连接Eelang进程数,默认为0.

{

  {

    rabbit,{

      {tcp_listeners ,[5673]}//修改监听端口

    }

  }

}.

3、RabbitMQ集群

 rabbotMQ集群允许消费者和生产者在rabbitmq单个节点崩溃的情况下继续运行,还可以通过集群添加更多的节点来线性的扩展吞吐量,当集群中的某个节点崩溃时,该节点上的所有队列中的消息也会丢失。

 rabbitMQ集群的元数据:队列元数据、交换器、绑定关系元数据、vhost元数据

多机节点配置:(1)配置各个节点的hosts文件,让各个节点可以互相识别

         (2)编辑每个节点的cookie文件,保证每个节点的cookie值一样

         (3)配置集群,可以通过rabbitmqctl配置或通过rabbitmq.config配置文件配置或通过rabbitmq-autocluster插件配置

  将节点加入到指定集群中:rabbitmqctl joio_cluster {cluster_node} [--ram]

  显示集群状态:rabbitmqctl  cluster_status

  修改集群节点类型:rabbitmqctl forget_cluster _ node [-- offiine]

  将节点从集群中删除:rabbitmqctl update _ cluster_nodes {clusternode}

4、RabbitMQ存储

rabbitMQ队列通常由rabbit_amqqueue_process和backing_queue两部分组成,rabbit_amqqueue_process负责处理协议相关的消息,如接收生产者发送的消息、先消费者交付消息、处理消息确认等。backing_queue是消息存储的具体形式,并向rabbit_amqqueue_process提供相关的接口以供调用。

05-27 02:22