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. 欢迎来到L T X的博客 & 博客转型公告

    这里是L T X,一位来自重庆的学生的个人博客. 由于博主以前是OIer,目前博客里主要是OI相关的内容. 但是现在博主已经退役了,因此博客将会转向...嗯...那种...就是那种...比较奇怪的类型 ...

  2. Django Form组件的扩展

    Form组件扩展 1.用Form组件自带的正则扩展 通过Django内置的字段:Validators自定义验证规则 方式一: from django.forms import Form from dj ...

  3. C++——指针3

    指针作为函数参量 指针作为函数参量,以地址的方式传递数据,可以用来返回函数处理结果:实参是数组名时形参可以是指针. 题目:读入三个浮点数,将整数部分和小数部分分别输出 #include <ios ...

  4. 题解 AT859 【元素の系統名】

    题目传送门. 介绍一种使用string字符串的方法. \(string\)是\(C++\).\(java\).\(VB\)等编程语言中的字符串,字符串是一个特殊的对象,属于引用类型. \(C++\)标 ...

  5. C# asp.net 配置文件连接sql 数据库

    先引用 using System.Configuration;//配置文件using System.Data.SqlClient; 我这里使用的是SqlServer 2008  sa 用户 密码也为s ...

  6. 题解【BZOJ4472】[JSOI2015]salesman

    题面 树形\(\text{DP}\)与贪心的结合. 首先考虑树形\(\text{DP}\). 设\(dp_i\)表示从\(i\)出发,访问\(i\)的子树,并且最后回到\(i\)能获得的最大收益. 转 ...

  7. java注册界面及mysql连接

    题目要求 完成注册界面及添加功能 1登录账号:要求由6到12位字母.数字.下划线组成,只有字母可以开头:(1分) 2登录密码:要求显示“• ”或“*”表示输入位数,密码要求八位以上字母.数字组成.(1 ...

  8. 基于.NET Core winform的录音、字幕软件HTWCore的技术总结

    HTWCore是一款基于.NET Core的winform客户端程序,可以用来处理各种会议,记录,讲座,讲课等等来源的音视频,运用语音识别.视频内容提取等技术整理成word文档.项目中运用了以下技术: ...

  9. Maven设置阿里云镜像

    <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> & ...

  10. 利用Python数据分析基础

    一.Numpy的ndarray:一种多维数组 ndarray是一个通用的同构多维数据容器,其所有元素必须是相同的类型.每个数组都有一个shape(一个表示各维度的元组)和dtype(一个用于说明数据数 ...