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 ...
随机推荐
- Linux运维--14.Kolla部署OpenStack使用external MariaDB Galera Cluster
使用haproxy+keepalived实现Mariadb负载均衡 controller2: 10.100.2.52 haproxy+keepalived controller3: 10.100.2. ...
- 2019 LOL 全球总决赛
FPS 牛逼 涅槃重生
- django Warning: (3135, "'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes
django连接数据库配置设置如下 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'test2', ...
- Mac配置环境变量时终端显示bash-3.2解决方案
1.问题描述 (base) -bash-3.2$ vi ~/.bash_profile (base) -bash-3.2$ source ~/.bash_profile 2.解决方案 无授权转,侵权删 ...
- Token:服务端身份验证的流行方案
01- 身份认证 服务端提供资源给客户端,但是某些资源是有条件的.所以服务端要能够识别请求者的身份,然后再判断所请求的资源是否可以给请求者. token是一种身份验证的机制,初始时用户提交账号数据给服 ...
- JS高级---识别正则表达式是否匹配
识别正则表达式是否匹配 console.log(/[a-zA-Z]+/.test("hello")); console.log(/./.test("除了回车换行以为的任意 ...
- javascript脚本混淆
javascript脚本混淆 脚本病毒是一个一直以来就存在,且长期活跃着的一种与PE病毒完全不同的一类病毒类型,其制作的门槛低.混淆加密方式的千变万化,容易传播.容易躲避检测,不为广大网民熟知等诸多 ...
- samba搭建共享目录
centos 中使用docker 运行samba docker pull dperson/samba 运行一下命令 docker run -it -p 139:139 -p 445:445 --nam ...
- vga显示原理即相关计算
行扫描周期:完成一行扫描所需时间: 行时序时间(a,b,c,d,e):完成一个像素点显示得时间 场扫描周期:完成所有行(一帧扫描所需时间) 场时序时间(o,p,q,r,s):完成一行显示得时间,一个完 ...
- S3C2440之存储控制器学习记录
/==========翻译S3C2440存储控制器部分================/ 5 存储控制器 概述 S3C2440内存控制器为外部存储访问提供内存控制信号. S3C2440A有如下特征: ...