当前位置: 首页 > news >正文

MQ系列面试

先来说说什么是MQ,MQ与多线程之间的区别

MQ是消息中间件 可以实现异步 多线程也可以实现异步

使用传统http协议方式调用接口存在的缺点

如果服务器端没有及时的响应给客户端的时候,容易造成客户端阻塞等待。

服务器响应超时 客户端发送重试机制 需要考虑避免业务逻辑重复执行

无法支持高并发请求

如果服务器端不在的情况下,容易丢失请求,比如发送个请求消息,服务器突然宕机了。

如果服务器端处理每个请求非常耗时时间的情况下,容易导致客户端的请求阻塞等待。

多线程处理异步的缺点

在同一个时刻只有一个cpu只能够运行一个线程

非常消耗cpu的资源,有可能影响到业务线程正常接收客户端的请求。

所以小的项目可以使用多线程实现异步 大项目建议一定使用mq

MQ为何能够实现抗高并发,异步解耦

mq分成几个角色 mq服务器端 生产者 消费者

生产者投递消息 ma服务器端存放消息

如何提高消费者速率

消费者实现批量获取消息

消费者实现集群

主动推送:

主动推送(mq服务器主动推送消费者)消费者与mq服务器端已经建立连接之后,生产者投递消息给mq服务器端,mq服务器端主动将消息推送给消费者。

消息拉取(消费者)

生产者投递消息给mq服务器端,但是消费者不在,消费者在启动的时候与mq服务器端建立连接,判断消费者订阅队列有哪些消息还没有被消费。

mq如何保证消息不丢失

mq服务器端:消息持久化到硬盘

生产者:确保我们的消息投递到mq服务器中

消费者 必须确认消息消费成功

mq如何保证消息顺序一致性

所有消息需要投递到同一个mq服务器,同一个分区模型中存放,最终被同一个消费者消费,核心原理

设定相同的消息key,根据相同的消息key计算hash存放在同一个分区中

如果保证了消息顺序一致性就有可能降低我们消费者消费的速率。

核心办法;消息一定要投递到同一个mq,同一个分区模型,最终被同一个消费者消费。

mq如何保证幂等性的问题

何为幂等性问题,mq服务器向消费者投递了两次相同的消息。就会导致数据库出现了两条相同的数据。

怎么解决了,从全局id的角度去出发,比如msg会自带全局id,跟据全局id去查询,也可以根据业务id去定,先去根据id在数据库中查下,然后有就不插入。

mq与redis如何保证数据一致性问题

在分布式领域中同步数据,很难保证强一致性策略,都是采用最终一致性思想,

短暂的数据延迟是允许的,但是最终数据必须要保证一致性。

方案一 直接删除Redis缓存 延迟双删策略 适用于小项目

方案二 基于MQ异步同步更新

方案三 基于canal框架订阅binlog同步

http://www.lryc.cn/news/15629.html

相关文章:

  • 一句话设计模式2:原型模式
  • c++11特性与c++17特性
  • Redis02: Redis基础命令
  • MDK的HardFault硬件异常和NMI异常原因总结
  • 视频图像质量诊断
  • make、Makefile项目自动化构建工具
  • Linux系统之Uboot、Kernel、Busybox思考之一
  • CCNP350-401学习笔记(401-450题)
  • 一文带你看透前端世界里的日期时间,对就是Date
  • 易基因|RRBS单碱基绘制580种动物的基因组规模DNA甲基化谱:Nature子刊
  • 面试官:能用JavaScript手写一个bind函数吗
  • 美国拟发布纽扣电池或硬币电池安全标准和通知要求ANSI C18. 3M
  • 双因素方差分析
  • [ vulhub漏洞复现篇 ] Drupal XSS漏洞 (CVE-2019-6341)
  • 「TCG 规范解读」第8章 TPM工作组 TPM 1.2中 SHA1的使用
  • 熵权法计算权重
  • redis实现用户签到,统计活跃用户,用户在线状态,用户留存率
  • MySQL中有多少种索引?索引的底层实现原理
  • LeetCode经典算法题:二叉树遍历(递归遍历+迭代遍历+层序遍历)以及线索二叉树java详解
  • 【Java闭关修炼】MyBatis-接口代理的方式实现Dao层
  • 2022年网络安全政策态势分析与2023年立法趋势
  • 使用vmware制作云平台redhat7.9镜像模板
  • OpenCV基础(28)使用OpenCV进行摄像机标定Python和C++
  • APB总线详解及手撕代码
  • 【Linux/Windows】源文件乱码问题解决方法总结
  • Python 四大主流 Web 编程框架
  • 学UI设计,可以向哪些方向发展?该怎么学?
  • 【C++】初识CC++内存管理
  • Nacos快速使用指南
  • 复旦发布国内首个类ChatGPT模型MOSS,和《流浪地球》有关?