当前位置:   article > 正文

【消息队列】RabbitMQ知识点_消息队列运维是比较关键的点,下面关于rabbitmq

消息队列运维是比较关键的点,下面关于rabbitmq

一、消息队列学习

MQ是一个互联网架构中常见的解耦利器。 


什么时候不使用MQ? 
上游实时关注执行结果 


什么时候使用MQ? 
1)数据驱动的任务依赖,多个任务需要轮流执行,轮流订阅上一个任务。 
2)上游不关心多下游执行结果,上游执行完发送到MQ,多下游订阅MQ。 
3)异步返回执行时间长 

 这里写图片描述

死信队列多了一个过期的机制,到期会自动去尝试消费,通过死信交换机做匹配,选择想要的消费失败的消息。 
https://ke.qq.com/course/288116#term_id=100341172 入门视频 
消息中间件是在消息传输过程中保存消息的容器。队列的主要目的是提供路由并保证消息的传递。 
特点: 
1异步处理模式 
2多个应用程序调用关系为松耦合关系 
传递模型: 
1、点多点模型PTP 
每个消息只用一个消费者 
发送者和接收者没有时间依赖 
接受者确认消息接受和处理成功 
2、发布-订阅模型Pub/Sub 
一对多关系,通过订阅主题,发布者建立一个订阅,订阅者保持持续的活动状态以接收消息。 
每个消息可以有多个订阅者 
客户端只有订阅后才能接收到消息,有时间依赖。 
持久订阅 订阅关系建立后,消息不会消失,不管订阅者是否都在线 
非持久订阅 订阅者为了接受消息,必须一直在线
 

典型的应用案例 
1、注册时发送邮件或发送短信 
2、日志分析使用,多个服务产生的数据发送到中间件发送到分析服务。 
3、消息复制,用于跨机房数据传输、搜索、离线数据计算等。 
4、延迟消息发送和暂存,把中间件当成可靠的消息暂存地。接受消息,暂时先不发送。

 

二、RabbitMQ简介

MQ全称为Message Queue,即消息队列, RabbitMQ是由erlang语言开发,基于AMQP(Advanced Message Queue 高级消息队列协议)协议实现的消息队列,它是一种应用程序之间的通信方法,消息队列在分布式系统开发中应用非常广泛。RabbitMQ官方地址:http://www.rabbitmq.com/

ConnectionFactory、Connection、Channel

ConnectionFactory、Connection、Channel都是RabbitMQ对外提供的API中最基本的对象。Connection是RabbitMQ的socket链接,它封装了socket协议相关部分逻辑。ConnectionFactory为Connection的制造工厂。 
Channel是我们与RabbitMQ打交道的最重要的一个接口,我们大部分的业务操作是在Channel这个接口中完成的,包括定义Queue、定义Exchange、绑定Queue与Exchange、发布消息等。

一、快速入门

工作模式:

图源于网络

组成部分说明:

Broker:消息队列服务进程,此进程包括两个部分:Exchange和Queue。
Exchange:消息队列交换机,按一定的规则将消息路由转发到某个队列,对消息进行过虑。
Queue:消息队列,存储消息的队列,消息到达队列并转发给指定的消费方。
Producer:消息生产者,即生产方客户端,生产方客户端将消息发送到MQ。
Consumer:消息消费者,即消费方客户端,接收MQ转发的消息。

消息发布接收流程:
-----发送消息-----
1、生产者和Broke

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/939022
推荐阅读
相关标签
  

闽ICP备14008679号