RockMQ面试题(1)

为什么要使用MQ

应用解耦:系统的耦合性越高,容错性就越低。以电商应用为例,用户创建订单后,如果耦合调用库存系统、物流 系统、支付系统,任何一个子系统出了故障或者因为升级等原因暂时不可用,都会造成下单操作异常, 影响用户使用体验。

 使用消息队列解耦合,系统的耦合性就会提高了。比如物流系统发生故障,需要几分钟才能来修复,在 这段时间内,物流系统要处理的数据被缓存到消息队列中,用户的下单操作正常完成。当物流系统回复 后,补充处理存在消息队列中的订单消息即可,终端系统感知不到物流系统发生过几分钟故障。

 流量削峰

应用系统如果遇到系统请求流量的瞬间猛增,有可能会将系统压垮。有了消息队列可以将大量请求缓存 起来,分散到很长一段时间处理,这样可以大大提到系统的稳定性和用户体验。 

 一般情况,为了保证系统的稳定性,如果系统负载超过阈值,就会阻止用户请求,这会影响用户体验, 而如果使用消息队列将请求缓存起来,等待系统处理完毕后通知用户下单完毕,这样总不能下单体验要好。

数据分发

通过消息队列可以让数据在多个系统更加之间进行流通。数据的产生方不需要关心谁来使用数据,只需 要将数据发送到消息队列,数据使用方直接在消息队列中直接获取数据即可。

MQ的优点和缺点

优点:解耦、削峰、数据分发

缺点包含以下几点:

系统可用性降低:系统引入的外部依赖越多,系统稳定性越差。一旦MQ宕机,就会对业务造成影响。

如何保证MQ的高可用?

系统复杂度提高:MQ的加入大大增加了系统的复杂度,以前系统间是同步的远程调用,现在是通过MQ进行异步调用。

如何保证消息没有被重复消费?怎么处理消息丢失情况?那么保证消息传递的顺序性?

一致性问题:A系统处理完业务,通过MQ给B、C、D三个系统发消息数据,如果B系统、C系统处理成功,D系统处理失败。

如何保证消息数据处理的一致性?

各种MQ产品的比较

常见的MQ产品包括Kafka、ActiveMQ、RabbitMQ、RocketMQ。

MQ各角色介绍 

Producer:消息的发送者;举例:发信者

Consumer:消息接收者;举例:收信者

Broker:暂存和传输消息;举例:邮局

NameServer:管理Broker;举例:各个邮局的管理机构

Topic:区分消息的种类;一个发送者可以发送消息给一个或者多个Topic;一个消息的接收者可以 订阅一个或者多个Topic消息 Message

Queue:相当于是Topic的分区;用于并行发送和接收消息

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/304371.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

tauri build打包问题-- wix, nsis下载

文章目录 1 更改配置里打包标识符identifier[附] 相关资源网盘链接(适配tauri v1.5.9)2 wix的下载3 nsis下载 1 更改配置里打包标识符identifier // tauri.config.json // 默认env -> build "bundle": { ... "identifier": &qu…

零售EDI:Petco EDI对接指南

Petco 始于1965年,是一家美国宠物零售商,提供各种宠物产品和服务以及某些类型的活体小动物。起初Petco只是一家邮购兽医用品公司,后发展为一家成熟的宠物食品和供应链的公司。Petco与其供应商之间是如何传输业务数据的呢? 通过EDI…

gitee创建远程仓库并克隆远程仓库到电脑

1、首先点加号新建一个仓库 2、输入仓库名,路径会自动填充,填写简单的仓库介绍,先选择私有,在仓库创建之后,可以改为开源 3、打开建好的仓库 4、复制仓库链接 5、打开一个文件夹(想要存储远程仓库的地址),在…

【模拟IC学习笔记】 采样保持电路的设计

目录 采样保持工作原理 概念 时域响应-采保信号 采样网络的KT/C噪声 采样电容大小的选取 采样抖动(jitter) jitter对SNR的影响 法一 法二 采样开关的种类 单MOS管 实践:Nmos导通电阻 传输门 栅压自举开关 采样技术 上极板采样 下极板采样 采样保持…

.NET Framework 与 .NET Core 与 .NET Standard

介绍 在本文中,我们将探讨 .NET Framework、.NET Core 和 .NET Standard 之间的差异。 .NET Framework 与 .NET Core .NET框架.NET核心 历史 .NET Framework 是 .NET 的第一个实现。 .NET Core 是 .NET 的最新实现。 开源 .NET Framework 的某些组件是开源的。 .N…

普中STM32-PZ6806L开发板(有点悲伤的故事续-人灯还未了)

简介 继上篇 普中STM32-PZ6806L开发板(有点悲伤的故事) 说到 关于 普中STM32-PZ6806L开发板的LED流水灯也被烧坏掉了,再也无法玩流水灯, 内心充满了只会流水灯的不甘, 流水灯就是单片机的Hello World,怎么能没有呢? 事情发展 好巧不巧想起最近…

自动驾驶轨迹预测

目录 神经网络轨迹预测综述: 比较新的轨迹预测网络 Uber:LaneRCNN[5] Google:VectorNet[6] Huawei:HOME[7] Waymo:TNT[8] Aptive:Covernet[9] NEC:R2P2[10] 商汤:TPNet[11]…

python 正则分割字符串

python 正则分割字符串 文章目录 python 正则分割字符串方法1:方法2:方法3:方法4:方法5:测试代码总结 前段时间 对字符串的处理遇到了一个小问题,我希望在一个字符串中做特定的分割, 通过传入一个 pattern正则来分割字符串. 看例子 self.s 就是原始的字符串 ,字符串中包含一个…

工程管理系统功能设计与实践:实现高效、透明的工程管理

在现代化的工程项目管理中,一套功能全面、操作便捷的系统至关重要。本文将介绍一个基于Spring Cloud和Spring Boot技术的Java版工程项目管理系统,结合Vue和ElementUI实现前后端分离。该系统涵盖了项目管理、合同管理、预警管理、竣工管理、质量管理等多个…

TS 36.213 V12.0.0-随机接入过程

本文的内容主要涉及TS 36.213,版本是C00,也就是V12.0.0。

【深度学习每日小知识】Data Augmentation 数据增强

数据增强是通过对原始数据进行各种转换和修改来人工生成附加数据的过程,旨在增加机器学习模型中训练数据的大小和多样性。这对于计算机视觉领域尤为重要,因为图像经常被用作输入数据。 计算机视觉中的数据增强 数据增强的主要目标是解决过拟合问题&…

gazebo安装版本--公元2024年1月

不好意思我误导了各位,顺便也误导了我自己。。。。。。。。。 harmonic版本只适合单独使用,不适合与ros2配合仿真。 到2024年1月,只有fortress版本能与ros2配合使用

EVA:Exploring the Limits of Masked Visual Representation Learning at Scale

文章目录 AbstractHighlightIntroduction Abstract EVA是一个基础的Transformer视觉模型 预训练任务:训练的图片是masked掉的50%的patches, 模型的任务是预测被遮挡的图像特征。 模型经过预训练,学会了通过图像和文本的对齐关系来重构被遮挡的部分&…

Windows 2012 R2 单网卡安装 PPTPVP*

1、添加远程访问 2、下一步至 角色服务 3、下一步直至 安装完成 4、打开 路由和远程访问 5、配置并启用 6、下一步 自定义配置 7、选择 VPN访问 与 NAT 8、直至完成 启动服务 9、右键 属性 10、配置分配给客户端的IP,这里我配的是172.20.1.0网段,跟我服务…

Python2048小游戏核心算法(python系列26)

前言:做核心算法之前我们可以玩一玩这个小游戏来了解一下规则。2048在线试玩 运行效果: 代码案例: # 2048小游戏# 1.将列表中零移动到列表的末尾 def move_zeroes():x 0for i in range(len(list_nums)):if list_nums[i] ! 0:list_nums[x],…

SQL / MySQL 高级知识点

1. 事务 1.1 什么是数据库事务? ​ 数据库的事务(Transaction)是一种机制、一个操作序列,包含了一组数据库操作命令。事务把所有的命令作为一个整体一起向系统提交或撤销操作请求,即这一组数据库命令要么都执行&…

给充电桩嵌入一个强大的“心脏”——工控机

到底什么样的工控机才算是真正的好用? 小编还特地去问了技术老王 他表示:稳定第一,性能第二! 不稳定,性能再好也白搭! 什么是工控机呢? 工控机是一种专门为工业现场而设计的计算机设备&…

Find My玩具车|苹果Find My技术与玩具车结合,智能防丢,全球定位

玩具车的结构有惯性式、机械式、电动式及电动遥控式等。玩具汽车与仿真汽车模型相比,其尺寸设计灵活,工艺略为粗糙,材料简单。一般采用普通塑料、铁皮制造。玩具车为孩子们提供了娱乐和放松的机会,让他们在游戏中放松身心&#xf…

网安入门12-文件上传(黑白名单,00截断)

黑名单绕过 Pass-03 有的时候后端限制了一些黑名单,比如过滤后缀名.php 我们就可以用黑名单里没有的后缀名进行绕过,例如: 大小写:.phP .pHp .AsPphp1 .php2 .php3 .php9 .phtml(成功率较高)特殊文件名绕…

基于JavaWeb+BS架构+SpringBoot+Vue+Spark的共享单车数据存储系统的设计和实现

基于JavaWebBS架构SpringBootVueSpark的共享单车数据存储系统的设计和实现 文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 文末获取源码 Lun文目录 第一章 概述 2 1.1课题研究背景 2 1.2 课题研究意义 2 1.3国内…