1. 概述

  1. 与 rabbitmq 做交互

    1. amqp 最著名的实现
  2. 与 jms 最明显的区别
    1. 消息

      1. 不是去找 queue
      2. 而是去找 exchange

2. rabbitmq

  1. 基本组件

    1. sender

      1. 发送者
    2. receiver
      1. 接收者

        1. 从 queue 里接受消息
    3. broker
      1. 概述

        1. 队列服务器, 中间件
      2. 组件
        1. exchange

          1. 作用

            1. 接受 消息
            2. 转发消息
        2. binding
          1. 貌似是 queue 的一个属性
        3. queue
          1. 存放消息, 等待消费
  2. 与 jms 的区别
    1. jms

      1. 分发

        1. 直接将消息分发到 queue
      2. 消息
        1. 携带着 目的地址
    2. rabbitmq
      1. 分发

        1. 有着相对复杂的规则
        2. 规则根据 exchange 和 消息携带的信息, 进行转发
      2. 消息
        1. 不携带 目的 queue
        2. 携带的是 routing key
  3. 消息的活动路径
  4. exchange 简述
    1. default

      1. 默认创建
      2. 知道 broker 里所有的 queue
      3. 转发
        1. 找到 消息里 routing key
        2. 找到 queue 名称
        3. 如果相同, 就发过去
    2. direct
      1. 类似 default

        1. 这次比对的, 是 消息的 routing key 和 queue 的 bingding key
    3. topic
      1. 类似 direct

        1. 不过区别是, 转发的次数, 可能会有很多

          1. 支持 binding key 正则匹配
    4. fanout
      1. @所有人
    5. header
      1. 类似 topic

        1. 不过这次的判定依据, 是 消息的 header 与 binding key
    6. dead letter
      1. 类似 java 的 catch

        1. 转发那些有问题的消息
  5. 我的认识
    1. message

      1. 属性

        1. header
        2. 内容
        3. 发送时指定
          1. routing key
          2. exchange
      2. jms
        1. jms 的消息, 貌似没有这么多属性
        2. 地址 都是在发送时候由 template 指定的
          1. 不过连接字符串倒是已经配好了的
    2. queue
      1. 属性

        1. name
        2. binding key
        3. queue
    3. 消息的路径
      1. 使用特定的 假设有个 template 与 broker 通信

        1. 感觉通常 一个 template 对应 一个 broker
        2. 一个 broker 对应一个 exchange
      2. 到了 exchange 后, 与 规则匹配, 然后转发

rabbitmq - 简单认识的更多相关文章

  1. rabbitmq简单收发服务搭建

    消息发送.接收简单代码示例 mq.xml //rabbitmq config spring.rabbitmq.host=ip:host spring.rabbitmq.username= spring ...

  2. RabbitMQ简单应用の简单队列

    (1)首先创建一个maven项目: pom.xml,重点是配置RabbitMQ <dependencies> <dependency> <groupId>junit ...

  3. AMQP消息队列之RabbitMQ简单示例

    前面一篇文章讲了如何快速搭建一个ActiveMQ的示例程序,ActiveMQ是JMS的实现,那这篇文章就再看下另外一种消息队列AMQP的代表实现RabbitMQ的简单示例吧.在具体讲解之前,先通过一个 ...

  4. rabbitmq简单实例

    JMS组件:activemq(慢)AMQP组件(advance message queue protocol):rabbitmq和kafka 一..消息队列解决了什么问题?异步处理应用解耦流量削锋日志 ...

  5. RabbitMQ 简单的消息发送与接收

    RabbitMQ是建立在AMQP(Advanced Message Queuing Protocol,高级消息队列协议)基础上的,而AMQP是建立在TCP协议之上的. 因此,RabbitMQ是需要建立 ...

  6. RabbitMQ简单使用

    环境搭建: RabitMQ是用Elang编写的,虽然Elang本身是跨平台的,但也同时意味着搭建Rabit环境需要首先配置Elang环境.配置RabitMQ的网上教程还比较多的: windows 下 ...

  7. RabbitMQ基础组件和SpringBoot整合RabbitMQ简单示例

    交换器(Exchange) 交换器就像路由器,我们先是把消息发到交换器,然后交换器再根据绑定键(binding key)和生产者发送消息时的路由键routingKey, 按照交换类型Exchange ...

  8. PHP 下基于 php-amqp 扩展的 RabbitMQ 简单用例 (四) -- Push API 和 Pull API

    RabbitMQ 中针对消息的分发提供了 Push API (订阅模式) 和 Pull API (主动获取) 两种模式. 在 PHP 中, 这两种模式分别通过 AMQPQueue 类中的 consum ...

  9. rabbitmq 简单示例(Hello World)

    一:消息中间件: AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计 RabbitMQ是实现AMQP( ...

  10. RabbitMQ学习笔记(2)----RabbitMQ简单队列(Hello World)的使用

    1. 简单队列结构图 2. 引入依赖 pom.xml文件 <dependency> <groupId>com.rabbitmq</groupId> <arti ...

随机推荐

  1. Linux DataGuard --

      概述 Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保 ...

  2. 2018护网杯easy_tornado(SSTI tornado render模板注入)

    考点:SSTI注入 原理: tornado render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页,如果用户对render内容可控,不仅可以注入XSS代码,而且 ...

  3. AntDesign(React)学习-4 登录页面提交数据简单实现

    github代码:https://github.com/zhaogaojian/jgdemo 全国肺炎,过节期间没地方去在家学习antd. 一.感觉antd pro项目太庞大了,可以学习下结构和代码风 ...

  4. js中的window.location.search的用法与作用。

    用该属性获取页面 URL 地址: window.location 对象所包含的属性 属性 描述 hash 从井号 (#) 开始的 URL(锚) host 主机名和当前 URL 的端口号 hostnam ...

  5. bootstrap资料索引

    中文手册  :  http://w3c.3306.biz/bootstrap_forms/show-25-64-1.html

  6. ❀❀ selenium 学习网站 ★★★★★

    http://edu.51cto.com/course/course_id-7320.html   Selenium IDE WEB自动化测试入门视频课程(上)(共10课时)_在线自学视频教程_51C ...

  7. 题解【洛谷P1886】滑动窗口 /【模板】单调队列

    题面 单调队列模板题. 单调队列可以从队首和队尾出队. 队列中的元素大小具有一定的顺序. 具体可参考这一篇题解 #include <bits/stdc++.h> #define itn i ...

  8. LED Holiday Light -Picking LED Christmas Lights, 4 Things

    LED Christmas lights are not very cheap, but you should know that LED lights can be used for more th ...

  9. ubuntu中安装和卸载apache2

    1. 安装apache2 安装命令: sudo apt-get install apache2 启动/停止/重启apache2: service apache2 start/stop/restart ...

  10. oracle 处理锁表,创建新的数据库实例

    select saddr,sid,serial#,paddr,username,status from v$session where username is not null and usernam ...