一、消息组件

如果从消息组件来讲主要划分位两类:

  1、JMS组件:ActiveMQ(慢);

  2、AMQP组件(协议):性能是最高的,

    而AMQP有两个主要的开源:

      1)RabbitMQ:使用最广泛,速度也很快。

      2)Kafka:是在大数据时代产生,明日之星

二、RabbitMQ

  1、RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue)的开源实现;

  2、RabbitMQ是由RabbitMQ Techenologies Ltd开发并且提供商业支持的。

   该公司在2010年4月被SpringSource(VMWare的一个部门)收购。在2013年5月被并入Pivotal。

  3、RabbitMQ的官网是:http://www.rabbitmq.com;

三、rabbitmq的系统架构

在所有的消息系统之中,其基本组从一定就是生产者、消费者、消息组件,其中消息组件可以起到的左右:数据缓冲队列,但是在  RabbitMQ里面这个消息组件的组成:

  Exchange:交换空间,负责管理所有队列。

  Queue:数据队列

  RoutingKey:如果你现在所有队列的RoutingKey都一样,那么就属于广播消息,而如果不一样,则表示点对点消息。

四、RabbitMQ核心概念

  broker:消息队列服务主机

  Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列

  Queue:消息队列载体,每个消息都会被投入到一个或多个队列

  binding:绑定,把exchange和queue按照路由规则绑定起来

  Routing Key:路由关键字,exchange根据这个关键字进行消息投递

  vhost:虚拟主机,一个vroker里可以设多个vhost,实现用户的权限分离

    在rabbitmq里面提供有一个虚拟主机的概念,所谓的虚拟主机可以理解为不同的用户空间,也就是说各个空间可以有自己的队列信息,有自己的操作用户。

  producer:消息生产者

  consumer:消息消费者

  channel:消息通道,在客户端的每个连接里,可建立多个channel,每个channel代表一个会话任务

rabbitmq笔记(一)rabbitmq简介及基础的更多相关文章

  1. springboot集成使用rabbitmq笔记(1.rabbitmq安装)

    使用rabbitmq笔记一 使用rabbitmq笔记二 使用rabbitmq笔记三 1.选择适配的版本,参考---https://www.rabbitmq.com/which-erlang.html ...

  2. springboot集成使用rabbitmq笔记(2.rabbitmq使用)

    使用rabbitmq笔记一 使用rabbitmq笔记二 使用rabbitmq笔记三 1.引入包 <dependencies> <dependency> <groupId& ...

  3. springboot集成使用rabbitmq笔记(3.基本过程)

    使用rabbitmq笔记一 使用rabbitmq笔记二 使用rabbitmq笔记三 1.AMQP协议 AMQP 0-9-1的工作过程如下图:消息(message)被发布者(publisher)发送给交 ...

  4. RabbitMQ 入门 (Go) - 1. 简介和安装

    Message Broker(消息代理) 维基百科对 Message Broker 的定义是:Message broker 是一种中介程序模块,它把消息从发送方的正式消息传递协议转化为接收方的正式消息 ...

  5. 【CSS简介、基础选择器、字体属性、文本属性、引入方式】前端小抄(2) - Pink老师自学笔记

    [CSS简介.基础选择器.字体属性.文本属性.引入方式]前端小抄(2) 本学习笔记是个人对 Pink 老师课程的总结归纳,转载请注明出处! 一.CSS简介 CSS 的主要使用场景就是布局网页,美化页面 ...

  6. RabbitMQ 入门系列:2、基础含义理解:链接、通道、队列、交换机

    系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...

  7. RabbitMQ 入门系列:3、基础含义:持久化、排它性、自动删除、强制性、路由键。

    系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...

  8. RabbitMQ 入门系列:3、基础编码:官方SDK的引用、链接创建、单例改造、发送消息、接收消息。

    系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...

  9. RabbitMQ 入门系列:5、基础编码:交换机的进阶介绍及编码方式。

    系列目录 RabbitMQ 入门系列:1.MQ的应用场景的选择与RabbitMQ安装. RabbitMQ 入门系列:2.基础含义:链接.通道.队列.交换机. RabbitMQ 入门系列:3.基础含义: ...

随机推荐

  1. 使用 Ninja 代替 make

    使用 Ninja 代替 make 摘自:https://www.jianshu.com/p/d118615c1943 22017.01.14 11:41:44字数 1408阅读 26336 前言 在传 ...

  2. 【linux命令之 tail学习】

    tail 在屏幕上显示指定文件的末尾若干行 tail file #(显示文件file的最后10行) tail -n +20 file #(显示文件file的内容,从第20行至文件末尾) tail -c ...

  3. Qt编写气体安全管理系统20-控制器管理

    一.前言 控制器管理,主要就是对控制器进行添加删除和修改,其中包括编号.端口名称.控制器名称.控制器地址.控制器型号.探测器数量这几个字段,端口名称表示当前控制器所属哪个端口,一个系统中可以有好多个端 ...

  4. 【Leetcode_easy】917. Reverse Only Letters

    problem 917. Reverse Only Letters solution: class Solution { public: string reverseOnlyLetters(strin ...

  5. 03点睛Spring4.1-scope

    转载:https://www.iteye.com/blog/wiselyman-2210377 3.1 scope scope描述spring容器是怎么样新建类的实例的(bean); 在spring中 ...

  6. python signal模块

    signal包负责在Python程序内部处理信号,典型的操作包括预设信号处理函数,暂 停并等待信号,以及定时发出SIGALRM等.要注意,signal包主要是针对UNIX平台(比如Linux, MAC ...

  7. 查询SQL时间段内执行过的哪些SQL语句

    QS.creation_time, ) , (( ) ) AS statement_text, ST.text, QS.total_worker_time, QS.last_worker_time, ...

  8. LinkedList源码解析(JDK8)

    ArrayList的增删效率低,但是改查效率高. 而LinkedList正好相反,增删由于不需要移动底层数组数据,其底层是链表实现的,只需要修改链表节点指针,所以效率较高. 而改和查,都需要先定位到目 ...

  9. 转换器1:ThinkPhp模板转Flask模板

    Template Converter 网上的PHP资源很多,项目要用Python,所以想起做一个模板转换器,从ThinkPhp转成Flask的Jinja模板. 直接指定两个目录,将目录下的模板文件转换 ...

  10. babel tsc webpack

    我要用啥?js的话:babel编译+webpack模块打包ts的话:tsc编译成js+babel编译+webpack模块打包浏览器情况:如果您的浏览器支持es6所有语法那么就可以只用webpack来处 ...