zoukankan      html  css  js  c++  java
  • RabbitMQ入门

    介绍

      RabbitMQ是一个由erlang开发的基于AMQP(Advanced Message Queue)协议的开源实现。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面都非常的优秀。是当前最主流的消息中间件之一。

    RabbitMQ的官方

    image

    • 概念:
      • Brocker:消息队列服务器实体。
      • Exchange:消息交换机,指定消息按什么规则,路由到哪个队列。
      • Queue:消息队列,每个消息都会被投入到一个或者多个队列里。
      • Binding:绑定,它的作用是把exchange和queue按照路由规则binding起来。
      • Routing Key:路由关键字,exchange根据这个关键字进行消息投递。
      • Vhost:虚拟主机,一个broker里可以开设多个vhost,用作不用用户的权限分离。
      • Producer:消息生产者,就是投递消息的程序。
      • Consumer:消息消费者,就是接受消息的程序。
      • Channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务。
    • 消息队列的使用过程大概如下:
      • 消息接收
        • 客户端连接到消息队列服务器,打开一个channel。
        • 客户端声明一个exchange,并设置相关属性。
        • 客户端声明一个queue,并设置相关属性。
        • 客户端使用routing key,在exchange和queue之间建立好绑定关系。
      • 消息发布
        • 客户端投递消息到exchange。
        • exchange接收到消息后,就根据消息的key和已经设置的binding,进行消息路由,将消息投递到一个或多个队列里。
    • AMQP 里主要要说两个组件:
      • Exchange 和 Queue
      • 绿色的 X 就是 Exchange ,红色的是 Queue ,这两者都在 Server 端,又称作 Broker
      • 这部分是 RabbitMQ 实现的,而蓝色的则是客户端,通常有 Producer 和 Consumer 两种类型。
    • Exchange通常分为四种:
      • fanout:该类型路由规则非常简单,会把所有发送到该Exchange的消息路由到所有与它绑定的Queue中,相当于广播功能
      • direct:该类型路由规则会将消息路由到binding key与routing key完全匹配的Queue中
      • topic:与direct类型相似,只是规则没有那么严格,可以模糊匹配和多条件匹配
      • headers:该类型不依赖于routing key与binding key的匹配规则来路由消息,而是根据发送的消息内容中的headers属性进行匹配

    2.RabbitMQ环境搭建  

    2.1.下载

     2.2.安装Erlang

       下载:http://www.erlang.org

     2.3.安装RabbitMQ

      下载地址:http://www.rabbitmq.com/download.html

    安装完成。

    开始菜单里出现如下选项:

    启动、停止、重新安装等。

     2.4.启用管理工具
      1、双击
      2、进入C:Program Files (x86)RabbitMQ Server abbitmq_server-3.4.1sbin输入命令:
        rabbitmq-plugins enable rabbitmq_management

    这样就启动了管理工具,可以试一下命令:
      停止:net stop RabbitMQ
      启动:net start RabbitMQ

    3、在浏览器中输入地址查看:http://127.0.0.1:15672/

    3.添加用户

    3.1:添加admin用户

    3.2用户角色

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

    3.3创建Virtual Hosts

     选中Admin用户,设置权限:

     看到权限已加:

     3.4管理界面中的功能

     

     4.学习五种队列

  • 相关阅读:
    端口被sysmtem占用
    windows 服务器恢复选项恢复
    服务端相关知识学习(二)之Zookeeper可以干什么
    服务端相关知识学习(一)之什么是zookeeper
    whistle学习(二)之启动、停止、重启、更新whistle等命令
    whistle学习(一)之安装、使用、软件功能了解
    动画方案 Lottie 学习(二)之实战
    动画方案 Lottie 学习(一)之基础
    移动端真机debug调试神器 vConsole学习(二)之实战
    移动端真机debug调试神器 vConsole学习(一)之基础
  • 原文地址:https://www.cnblogs.com/myseries/p/11889998.html
Copyright © 2011-2022 走看看