热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Rabbitmq_RabbitMQ简介

篇首语:本文由编程笔记#小编为大家整理,主要介绍了RabbitMQ简介相关的知识,希望对你有一定的参考价值。RabbitMQ简介

篇首语:本文由编程笔记#小编为大家整理,主要介绍了RabbitMQ简介相关的知识,希望对你有一定的参考价值。



RabbitMQ简介

MQ全称为Message Queue,即消息队列,RabbitMQ使用Erlang语言开发。

它基于AMQP协议(Advanced Message Queue高级消息队列协议)实现的消息队列。

它是一种应用程序之间通信的方式,在分布式系统中应用十分广泛。


应用场景


1、任务异步处理

将不需要同步处理、耗时长的操作交由消息队列通知消息接收方进行异步处理,提高应用程序的响应时间。


2、应用解耦和

MQ相当于一个中介,生产方通过MQ与消费方交互,它将应用程序之间进行了解耦和。


优势

使用简单,功能强大。

基于AMQP协议。

社区活跃,文档完善。

高并发性能好。


基本结构

 技术图片

 

Broker:消息队列服务进程,包括Exchange和Queue。

Exchange:消息队列交换机,按照一定的规则将消息路由转发到某个队列中。


Queue:消息队列,存储消息的队列,消息到达队列并转发给指定的消费方。

Producer:消息生产者,生产者将消息发送到MQ。

Consumer:消息消费者,接收MQ转发的消息。

消息发送和接受流程


发送消息




  • 生产者和Broker建立TCP连接。

  • 生产者和Broker建立通道。

  • 生产者通过通道将消息发送给Broker,由Exchange进行转发。

  • Exchange将消息转发给指定的队列。



接收消息




  • 消费者和Broker建立TCP连接。

  • 消费者和Broker建立通道。

  • 消费者监听指定的Queue。

  • 当有消息到达Queue时Broker默认将消息推送给消费者。

  • 消费者接收到消息。



推荐阅读
author-avatar
咖啡十伴侣
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有