RabbitMQ学习总结(一)
来源:互联网 发布:东芝移动硬盘 mac 加密 编辑:程序博客网 时间:2024/05/16 01:44
最近公司要求知识分享,本人抱着学习的心态去学习rabbltMQ这块知识点的运用。以下是本人见解。
1. 定义
消息队列:在消息的传输过程中保存消息的的容器。
这是一个较为经典的消费-生产者模型,说起来比较抽象,打个比方:A线程需要给B线程发送消息(A、B线程不一定是在同一台机器上的),A线程先把消息发送到消息队列服务器上,然后B线程去读取或是订阅消息服务器上消息队列中的消息,线程A和B之间并没有进行直接通信。MQ服务器在中间起到中继的作用。
2. 适用的应用场景
比较适合异步传输,这里解释一下什么是异步和同步。
异步:发送方不关心消息有没有发送成功,只发送消息,不去获取消息是否发送成功。
同步:发送方关心消息是否发送成功,发送消息后,会等待接收方返回状态码,根据状态码来判断是否发送成功,然后执行相对于的动作。
下边以Http中的同步和异步为例:
如:普通的B/S架构客户端和服务器端之间的通信就是同步的,即提交请求 ---> 等待服务器处理完毕返回消息 ---> 拿到服务器返回的消息,处理完毕。
如:Ajax技术就是异步的,请求通过事件触发 ---> 服务器处理(浏览器不用等待,仍可以做其他的事情) ---> 处理完毕。
有人可能会好奇说应用场景怎么说到了同步和异步,那说明你还不是很理解技术和应用场景之间的紧密联系。
3. RabbitMQ
每个开源项目都有自己的设计方法以及模块角色,RabbitMQ也不例外。结构图如下:
3.1、主要术语介绍
Exchange:交换机,决定了消息路由规则;
Queue:消息队列;
Channel:进行消息读写的通道;
Bind:绑定了Queue和Exchange,意即为符合什么样路由规则的消息,将会放置入哪一个消息队列;
3.2、RabbitMQ的主要工作模式
1、简单队列模式,此模Exchange不工作。
2、fanout模式(广播模式),此模式消息在exchange范围内广播。
2、direct模式(精确路由模式),由routing-key精确匹配。
3、topic模式(模糊路由模式),由routing-key模糊匹配
下文将介绍 消息队列模式……
- RabbitMQ学习总结(一)
- RabbitMQ 学习(一)
- RabbitMQ学习(一)
- RabbitMQ学习(一)-RabbitMQ安装
- RabbitMQ使用总结(一)
- RabbitMQ学习笔记(一)
- RabbitMQ学习(一)-----------服务器管理
- RabbitMQ学习总结(二)
- Rabbitmq 学习笔记(一)简介
- RabbitMQ学习(一)之helloword(java)
- rabbitmq学习笔记一
- RabbitMQ学习记录(一)
- rabbitmq学习总结
- rabbitmq 学习总结
- RabbitMQ学习总结
- RabbitMQ的学习总结
- RabbitMQ学习一:hello world
- RabbitMQ学习之exchange总结
- 动态插入DOM元素并执行脚本
- Kafka常用命令使用说明
- IR2104与IR2103区别
- Git常用命令
- doc操作oracle数据库建立用户,导入表等操作
- RabbitMQ学习总结(一)
- 1506:数圈圈
- 实现中文字符串的反/翻转
- MYSQL分区性能
- MVC基本原理
- RabbitMQ学习总结(二)
- JAVA运算符\操作符
- Tesseract ocr文字识别
- Torch load model from gpu to cpu, so can convert to pytorch