rabbitmq - 简单认识
1. 概述
- 与 rabbitmq 做交互
- amqp 最著名的实现
- 与 jms 最明显的区别
- 消息
- 不是去找 queue
- 而是去找 exchange
- 消息
2. rabbitmq
- 基本组件
- sender
- 发送者
- receiver
- 接收者
- 从 queue 里接受消息
- 接收者
- broker
- 概述
- 队列服务器, 中间件
- 组件
- exchange
- 作用
- 接受 消息
- 转发消息
- 作用
- binding
- 貌似是 queue 的一个属性
- queue
- 存放消息, 等待消费
- exchange
- 概述
- sender
- 与 jms 的区别
- jms
- 分发
- 直接将消息分发到 queue
- 消息
- 携带着 目的地址
- 分发
- rabbitmq
- 分发
- 有着相对复杂的规则
- 规则根据 exchange 和 消息携带的信息, 进行转发
- 消息
- 不携带 目的 queue
- 携带的是 routing key
- 分发
- jms
- 消息的活动路径
- 略
- exchange 简述
- default
- 默认创建
- 知道 broker 里所有的 queue
- 转发
- 找到 消息里 routing key
- 找到 queue 名称
- 如果相同, 就发过去
- direct
- 类似 default
- 这次比对的, 是 消息的 routing key 和 queue 的 bingding key
- 类似 default
- topic
- 类似 direct
- 不过区别是, 转发的次数, 可能会有很多
- 支持 binding key 正则匹配
- 不过区别是, 转发的次数, 可能会有很多
- 类似 direct
- fanout
- @所有人
- header
- 类似 topic
- 不过这次的判定依据, 是 消息的 header 与 binding key
- 类似 topic
- dead letter
- 类似 java 的 catch
- 转发那些有问题的消息
- 类似 java 的 catch
- default
- 我的认识
- message
- 属性
- header
- 内容
- 发送时指定
- routing key
- exchange
- jms
- jms 的消息, 貌似没有这么多属性
- 地址 都是在发送时候由 template 指定的
- 不过连接字符串倒是已经配好了的
- 属性
- queue
- 属性
- name
- binding key
- queue
- 属性
- 消息的路径
- 使用特定的 假设有个 template 与 broker 通信
- 感觉通常 一个 template 对应 一个 broker
- 一个 broker 对应一个 exchange
- 到了 exchange 后, 与 规则匹配, 然后转发
- 使用特定的 假设有个 template 与 broker 通信
- message
rabbitmq - 简单认识的更多相关文章
- rabbitmq简单收发服务搭建
消息发送.接收简单代码示例 mq.xml //rabbitmq config spring.rabbitmq.host=ip:host spring.rabbitmq.username= spring ...
- RabbitMQ简单应用の简单队列
(1)首先创建一个maven项目: pom.xml,重点是配置RabbitMQ <dependencies> <dependency> <groupId>junit ...
- AMQP消息队列之RabbitMQ简单示例
前面一篇文章讲了如何快速搭建一个ActiveMQ的示例程序,ActiveMQ是JMS的实现,那这篇文章就再看下另外一种消息队列AMQP的代表实现RabbitMQ的简单示例吧.在具体讲解之前,先通过一个 ...
- rabbitmq简单实例
JMS组件:activemq(慢)AMQP组件(advance message queue protocol):rabbitmq和kafka 一..消息队列解决了什么问题?异步处理应用解耦流量削锋日志 ...
- RabbitMQ 简单的消息发送与接收
RabbitMQ是建立在AMQP(Advanced Message Queuing Protocol,高级消息队列协议)基础上的,而AMQP是建立在TCP协议之上的. 因此,RabbitMQ是需要建立 ...
- RabbitMQ简单使用
环境搭建: RabitMQ是用Elang编写的,虽然Elang本身是跨平台的,但也同时意味着搭建Rabit环境需要首先配置Elang环境.配置RabitMQ的网上教程还比较多的: windows 下 ...
- RabbitMQ基础组件和SpringBoot整合RabbitMQ简单示例
交换器(Exchange) 交换器就像路由器,我们先是把消息发到交换器,然后交换器再根据绑定键(binding key)和生产者发送消息时的路由键routingKey, 按照交换类型Exchange ...
- PHP 下基于 php-amqp 扩展的 RabbitMQ 简单用例 (四) -- Push API 和 Pull API
RabbitMQ 中针对消息的分发提供了 Push API (订阅模式) 和 Pull API (主动获取) 两种模式. 在 PHP 中, 这两种模式分别通过 AMQPQueue 类中的 consum ...
- rabbitmq 简单示例(Hello World)
一:消息中间件: AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计 RabbitMQ是实现AMQP( ...
- RabbitMQ学习笔记(2)----RabbitMQ简单队列(Hello World)的使用
1. 简单队列结构图 2. 引入依赖 pom.xml文件 <dependency> <groupId>com.rabbitmq</groupId> <arti ...
随机推荐
- caffe+win10+git使用sh文件
在windows下是否可以执行sh文件呢,搜了一下,可以安装了git就可以执行,当然这不是唯一答案. 然后联想到caffe下有一些.sh文件可以尝试,就用create_mnist.sh尝试把. cre ...
- 转载:openmax基本概念
https://yellowmax.blog.csdn.net/article/details/78080168 https://yellowmax.blog.csdn.net/article/det ...
- 备份Sql Server中的某些表
第一步:右键需要备份表的数据库 第二步:选择=>选择特定数据库对象,在下方选择你需要备份的数据表. 第三步,点击高级,在要编写脚本的数据的类型中选择架构和数据(看个人需要),根据需要可更换生成的 ...
- Eclipse的Errors in required projec(s)问题
在Eclipse中运行代码时出现Errors exist in required project(s)弹窗提示,但是当前类并无错误,点击Proceed当前类仍然可以运行 错误展示: Errors ex ...
- 2020牛客寒假算法基础集训营5 G.街机争霸 (bfs)
https://ac.nowcoder.com/acm/problem/201961 预处理出僵尸走的路径,僵尸走的周期长度应该为2k-2,在普通的bfs基础上加上一维表示时间,从当前位置x,y和和时 ...
- 详解C/C++中的的:#pragma pack(push) 、#pragma pack(pop) 和#pragma pack()
前言 我们知道结构体内存对齐字节可以通过#pragma pack(n) 的方式来指定. 但是,有没有想过一个问题,某些时候我想4字节对齐,有些时候我又想1字节或者8字节对齐,那么怎么解决这个问题呢? ...
- sort函数的用法(C++排序库函数的调用)
对数组进行排序,在c++中有库函数帮我们实现,这们就不需要我们自己来编程进行排序了. (一)为什么要用c++标准库里的排序函数 Sort()函数是c++一种排序方法之一,学会了这种方法也打消我学习c+ ...
- django 版本 对应pyhton版本
对应关系
- 找不到getter/setter——没有安装lombok插件
项目pull后的问题: import lombok.Getter; import lombok.Setter; @Setter @Getter public class ConcreteEntity ...
- openresty入门文章(笔者自用)
推荐好的openresty入门介绍文章:https://www.cnblogs.com/digdeep/p/4859575.html