- 1、本文档共57页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Rabbitmq消息队列
Rabbitmq介绍RabbitMQ是一种消息队列,由erlang语言开发,基于AMQP(Advanced Message Queue)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用很广泛。开发中消息队列通常有以下应用场景:任务异步处理;应用程序解耦合。市场上主要的消息队列:ActiveMQ、RabbitMQ、RocketMQ、Redis、Kafka、ZeroMQ。
为什么使用Rabbitmq消息队列是应用程序与应用程序之间的通信方法。在项目中,可以将一些无需即时返回并且耗时的操作提取出来,进行异步处理,节省服务器的请求响应时间,从而提高了系统的吞吐量。使用简单,功能强大;基于AMQP 0-9-1协议;社区活跃,文档丰富;高并发性能好,这主要得益于erlang语言;SpringBoot默认已集成RabbitMQ。
消息队列的适用场景任务异步处理把不需要同步处理并且耗时较长的操作由消息队列通知消息接收方进行异步处理,提高了应用程序的响应时间。应用程序解耦合MQ相当于一个代理,生产者通过MQ与消费者交互,它将应用程序进行解耦合。削峰填谷如订单系统。
amqp-高级消息队列协议AMQP是一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。AMQP是一个二进制协议,拥有一些现代化特点:多信道、协商式、异步、安全、扩平台、中立、高效,RabbitMQ是AMQP协议的Erlang的实现。
rabbitmq相关概念连接Connection:一个网络连接,比如TCP/IP套接字连接。会话Session:断点之间的命名对话。在一个会话上下文中,保证“恰好传递一次”。信道Channel:多路复用连接中一条独立的双向数据流通道,为会话提供物理传输介质。客户端Client:AMQP连接或者会话的发起者,AMQP是非对称的。服务节点Broker:消息中间件的服务节点,一般情况下可以将RabbitMQ Broker看做服务器。端点:AMQP对话的任意一方。一个AMQP连接包括服务器和客户端两个端点。消费者Consumer:一个从消息队列里请求消息的客户端程序。生产者Producer:一个向交换机发布消息的客户端应用程序。
JMSJava消息服务应用程序接口是一个Java平台关于面向消息中间件(MOM)的API,用于在两个应用程序之间或分布系统中发送消息,进行异步通信。JMS是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。
Rabbitmq工作原理发送消息生产者和代理建立TCP连接,创建通道;生产者通过通道将消息发送给代理,由交换机将消息进行转发到指定的队列。接收消息消费者和代理建立连接,创建通道;消费者监听指定的队列;当有消息到达队列时,代理通过通道将消息推送消费者;消费者接收消息并处理。
rabbitmq运转流程-生产者发送消息生产者创建连接,开启一个信道,连接到RabbitMQ Broker;声明队列并设置属性,比如持久化、独享、自动删除;将路由键与队列进行绑定;发送消息到RabbitMQ Broker;关闭信道;关闭连接。
rabbitmq运转流程-消费者接收消息消费者创建连接,开启一个信道,连接到RabbitMQ Broker;向Broker请求消费相应队列的消息,设置回调函数;等待Broker回应关闭投递响应队列中的消息,消费者接收消息;确认接收到消息;RabbitMQ从队列中删除已被确认的消息;关闭信道;关闭连接。
生产者流转过程示意图
消费者流转过程示意图
rabbitmq组成部分Broker:消息队列服务进程,包含两个部分Exchange和Queue;Exchange:消息队列交换机,按一定的规则将消息路由转发到某个队列,对消息进行过滤;Queue:存储消息的队列,消息到达队列并转发给指定的消费方;Producer:消息生产者发送消息到MQ;Consumer:消息消费者接收MQ转发的消息。
Rabbitmq安装安装erlang和RabbitMQ以管理员身份运行;当卸载重新安装时会出现RabbitMQ服务注册失败,此时需要进入注册表清理erlang有哪些信誉好的足球投注网站RabbitMQ、ErlSrv,将对应的项全部删除。
Rabbitmq用户角色超级管理员Admin可登陆管理控制台,可查看所有的消息,并且可以对用户、策略进行操作。监控者Monitoring可登陆管理控制台,同时查看MQ节点的相关信息。策略制定者Policymaker可登陆管理控制台,同时可以对策略进行管理,但无法查看节点的相关信息。普通管理者Management仅可登陆管理控制台,无法看到节点内容,也无法对策略进行管理。演员Impersonator其他None
您可能关注的文档
- 走道木作基层隐蔽工程验收记录.doc
- 家长进课堂ppt 法律是什么.ppt
- 四年级上册数学试题 - 第一次月考 北师大版 (含答案).doc
- 建筑起重机械安装基础验收报告.doc
- 项目供货安装和调试方案(整理到技术方案中即可).doc
- 《大鼓和小鼓》ppt完整版.ppt
- 实践周第二天.doc
- 质检3-8 竣工工程质量验收报告.doc
- 人教版四年级上册数学第七单元条形统计图课件.ppt
- 市XX局教育实践活动领导个人整改任务台账.doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)