RabbitMQ 简介
2020-03-11 16:01:38来源:博客园 阅读 ()
RabbitMQ 简介
RabbitMQ简介
RabbitMQ是一个开源的消息代理和队列服务器,可以在不同应用之间传递数据。
RabbitMQ是采用Erlang语言编写的,基于AMQP协议。
RabbitMQ的优点
- 高性能、稳定性
- 可靠的消息投递模式(confirm)、返回模式(return),保证数据不丢失
- 可以与Spring AMQP无缝整合
- 功能丰富,提供了丰富的集群模式、表达式配置、HA模式、镜像队列模型
RabbitMQ高性能的原因:Erlang可以做到和原生socket一样的低延迟
AMQP协议
AMQP,即Advanced Message Queuing Protocol,高级消息队列协议。
AMQP只是一个开发规范,用来统一标准。
AMQP的核心概念
Server:又称为Broker,接受客户端的连接,实现AMQP实体服务
Conection:应用程序与Broker之间的网络连接
Channel:网络信道,Channel是进行消息读写的通道,几乎所有的操作都在Channel中进行。客户端可建立多个Channel,一个Channel代表一个会话任务。
Message:消息,应用程序、Broker之间传递的数据,由Properties、Body2部分组成,Properties对消息进行修饰,比如设置消息的优先级、延时投递等,Body是消息内容。
Virtual host:虚拟主机,用于逻辑隔离,一个Virtual host中可以有多个Exchange、Queue(名字不能相同)。
Exchange:交换机,接收消息,再根据路由键(routing key)转发消息到绑定的Queue。
Binding:Exchange、Queue之前的虚拟连接(绑定)
Routing key:路由规则,指定一个虚拟主机如何路由消息(Exchange=>Queue)
Queue:也成为Message Queue,消息队列,保存消息并将消息转发给消息消费者
RabbitMQ|AMQP的整体架构
消息生产者、消费者都是RabbitMQ Client。
一个Exchange可以绑定多个Queue,可以向多个Queue投递消息。Exchange根据Routing key来确定将消息投递给哪个Queue。
消息消费者监听某个Queue,监听的Queue有消息进来,就处理消息。
原文链接:https://www.cnblogs.com/chy18883701161/p/12465447.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Java 简介 2020-06-09
- 黑菜菌的JAVA学习笔记 2020-06-09
- JAVA8 Stream流 2020-06-02
- Redis入门实战(1)-简介 2020-05-31
- 微服务项目持续集成部署流程简介 2020-05-27
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash