【消息队列MQ使用场景及测试点总结】
消息队列MQ是一种应用程序对应用程序的通信方法。本质是一种先进先出的数据结构。
MQ将消息持久化后,发送Ack消息给Client,此处有可能因为网络问题导致Ack消息无法发送到Client,那么Client在等待超时后,会重传消息;
消息传输保证层级?
At most once:最多一次。消息可能会丢失,但不会重复传输。
At least once:最少一次。消息绝不会丢失,但可能会重复传输。
Exactly once: 恰好一次,每条消息肯定仅传输一次。
生产者如何将消息可靠投递到MQ?
1.Client发送消息给MQ
2.MQ将消息持久化后,发送Ack消息给Client,此处有可能因为网络问题导致Ack消息无法发送到Client,那么Client在等待超时后,会重传消息;
3.Client收到Ack消息后,认为消息已经投递成功。
MQ如何将消息可靠投递到消费者?
1.MQ将消息push给Client(或Client来pull消息)
2.Client得到消息并做完业务逻辑
3.Client发送Ack消息给MQ,通知MQ删除该消息,此处有可能因为网络问题导致Ack失败,那么Client会收到重复消息,这里就引出消费幂等的问题;
4.MQ将已消费的消息删除
来自 <必知必会 RabbitMQ面试题 33道(附答案)_田维常的博客-CSDN博客>
【消息队列MQ使用场景及测试点总结】相关推荐
- 消息队列的使用场景_消息队列MQ的特点、选型及应用场景
一.什么是消息队列 消息队列(Message Queue,简称MQ),指保存消息的一个容器,本质是个队列. 消息(Message)是指在应用之间传送的数据,消息可以非常简单,比如只包含文本字符串,也可 ...
- 消息中间件系列(四):消息队列MQ的特点、选型、及应用场景详解
前面集中谈了分布式缓存Redis系列: 高并发架构系列:分布式锁的由来.特点.及Redis分布式锁的实现详解 高并发架构系列:Redis并发竞争key的解决方案详解 高并发架构系列:Redis缓存和M ...
- java队列_RPC远程调用和消息队列MQ的区别
RPC和MQ同样都是用于分布式系统的两个很重要的技术,都有服务提供者.消费者的概念,可在一定程度上对系统进行解耦.但两者之间还是有区别的,本篇简单介绍~ 一.RPC RPC(Remote Proced ...
- 详解RPC远程调用和消息队列MQ的区别
谈到分布式架构,就不得不谈到分布式架构的基石RPC. 什么是RPC RPC(Remote Procedure Call)远程过程调用,主要解决远程通信间的问题,不需要了解底层网络的通信机制. RPC服 ...
- 消息队列MQ夺命连环11问:kafka、rabbitmq、rocketmq、activemq
<消息队列MQ如何保证消息的幂等性> <RabbitMQ架构> <ZeroMQ简介:一种高性能的异步消息传递库> <Rocketmq原理&最佳实践&g ...
- 消息队列的使用场景和使用技巧
2019独角兽企业重金招聘Python工程师标准>>> 一.消息队列的使用场景 1.应用解耦 假设商品和结算和支付是不同的系统,两个系统之间的通讯可以通过消息队列完成,不需要强制性的 ...
- 消息队列的使用场景是什么样的?
本文从异步.解耦.削峰填谷等核心应用场景,以及消息中间件常用协议.推拉模式对比来解答此问题. 什么是消息中间件 作为一种典型的消息代理组件(Message Broker),是企业级应用系统中常用的消息 ...
- 阿里云消息队列MQ学习—阿里云大学视频课
在刷ACE题的过程中,感觉对于消息队列部分的理解不是很深刻,这里来学习一下. 例行还是先走一遍阿里云大学的一些视频课程扫扫盲,选择如下课程: 阿里消息队列MQ简介:阿里巴巴中间件技术部自主研发的专业消 ...
- 消息队列MQ 之 Kafka
目录 前言 一.消息队列 MQ 为什么需要消息队列(MQ) 使用消息队列的好处 消息队列的两种模式 二.Kafka 概述 Kafka 简介 Kafka 的特性 三 实验 前言 一.消息队列 MQ MQ ...
最新文章
- oracle sql判断相等,获取多行相等的人员(Oracle SQL)
- php接收ajax转数组
- python抓取数据库数据封装成json_用Python将mysql数据导出成json的方法
- C#操作Excel文件(转)
- 前端工作学习相关网站收集整理
- Python按行读取txt文件
- English vocabulary-1
- php实现单,双向链表,环形链表解决约瑟夫问题
- PostgreSQL数据库常用SQL语句
- 福利来了,axure8.1注册码
- 百度地图做电子围栏总结
- matlab资产配置,FOF投资的量化分析:资产配置模型
- mysql执行后缀.sql_MySQL命令执行sql文件的两种方法
- linux下启动Nacos报错解决:which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
- 理光Ricoh Pro 907EX 一体机驱动
- android开发手顺3--Package name must have at least two identifiers 原因及解决方法
- DM数据守护读写分离集群
- cad怎么向下位移_CAD偏移快捷键命令(教你怎么绘制滚轮)
- 斗破苍穹文字页游php_《斗破苍穹》官方网站! - 页游 - 可以阅读的网页游戏[YeGame.COM]...
- vue生命周期(超详解!)