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 ...
随机推荐
- How to do high impact research + 实事求是
1. develop a strong publications record early, so do what you can to make that happen. 2. 粗读:abstrac ...
- 番外:可刷新PDB的管理操作(如何切换PDB Switching Over)
基于版本:19c (12.2.0.3) AskScuti 主题:可刷新PDB如何进行切换操作 内容说明:本篇延续如何克隆可刷新的PDB(Refreshable PDB)一文,进行切换实验. 具体请参考 ...
- es6 新增变量声明方式
let 与 var var var声明的变量拥有全局作用域或者局部作用域 在全局中声明变量即为全局变量 在函数中声明变量即为局部变量 而var在使用过程中也逐渐暴露出许多问题 var的几大问题 变量提 ...
- 更新centos本地仓库(换源)
/etc/yum.repos.d/CentOS-Base.repo 1,首先进行备份 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Cen ...
- [JSOI2016]最佳团体 DFS序/树形DP
题目 洛谷 P4322 [JSOI2016]最佳团体 Description 茜茜的舞蹈团队一共有\(N\)名候选人,这些候选人从\(1\)到\(N\)编号.方便起见,茜茜的编号是\(0\)号.每个候 ...
- csp 初赛 (不懂的地方)
11. 有以下结构体说明和变量定义,如图所示,指针 p. q. r 分别指向一个链表中的三个连续结点. struct node { int data;st ...
- [CF1234F] Yet Another Substring Reverse - 字符串,状压DP
CF1234F Yet Another Substring Reverse Description 给定一个字符串,可以任意翻转一个子串,求最终满足所有字符互不相同的子串的最大长度. 数据范围: \( ...
- (转)GC ROOTS
还是英文的技术博客更给力,更清楚,本人懒,没有翻译. In your specific example, in any managed environment, Person is not a GC ...
- Openstack 简单梳理,(自用 慎点)
这个图里面的彩色方块,就是OpenStack最核心的组件. 推荐几个大咖,大家可以百度找他们的博客来看:陈沙克.何明桂.孔令贤,Cloudman.
- 【转载】Java嵌入Pig编程
转自:https://wiki.apache.org/pig/EmbeddedPig Embedding Pig In Java Programs Sometimes you want more co ...