乐趣区

关于java:大厂面试系列九MQ和分布式事务

MQ 和分布式事务

MQ

  • 我的项目中 RabbitMQ 实现了 at least once, 包含 mq 反馈 provider, 音讯长久化,consumer 被动反馈 mq. 线程池生产避免音讯积压等
  • mq 告诉时,消费者没生产到怎么办
  • 简略聊聊消息中间件?
  • 你理解那些具体的消息中间件产品?
  • mq 的生产端是怎么解决的?整顿一下你的生产端的整个解决逻辑流程,而后说说你的 ack 是在哪里返回的。依照你这样画的话,如果数据库忽然宕机,你的音讯该怎么确认曾经接管?那如果发送端的服务是多台部署呢?你保留音讯的时候数据库就始终报唯一性的谬误?
  • rocketmq 用在什么场景。如果消费者组 A 上面有两个消费者组 A1,A2, 问消费者 A1 和 A2 是否生产不同的 topic ?rocketmq 如何保障的事务。
  • kafka,activemq,rabbitmq,rocketmq 都有什么长处, 毛病啊?
  • 如果让你写一个音讯队列,该如何进行架构设计啊? 说 - 下你的思路
  • 用过哪些 MQ,怎么用的,和其余 mq 比拟有什么优缺点,MQ 的连贯是线程平安的吗 ?MQ 零碎的数据如何保障不失落
  • mq 告诉时,消费者没生产到怎么办
  • mq 的 p2p 模式
  • mq 音讯的幂等性如何保障?mq 如何保障程序生产?
  • MQ 怎么保障音讯的可靠性以及过后如何做音讯幂等解决的
  • 如何确保音讯正确地发送至 RabbitMQ?如何确保音讯接管方生产了音讯?如何防止音讯反复投递或反复生产?音讯基于什么传输?音讯如何散发?音讯怎么路由?如何确保音讯不失落?应用 RabbitMQ 有什么益处?rabbitmq 的集群。mq 的毛病

分布式事务

首先来一个具体的解决方案的示例

       *  1、两阶段提交(2PC)第一阶段:事务协调器要求每个波及到事务的数据库预提交 (precommit) 此操作,并反映是否能够提交. 第二阶段:事务协调器要求每个数据库提交数据。长处:尽量保障了数据的强统一,适宜对数据强统一要求很高的要害畛域。(其实也不能 100% 保障强统一)毛病:实现简单,就义了可用性,对性能影响较大,不适宜高并发高性能场景,如果分布式系统跨接口调用,目前 .NET 界还没有实现计划。* 2、弥补事务(TCC)针对每个操作,都要注册一个与其对应的确认和弥补(撤销)。Try、Confirm、Cancel 长处:跟 2PC 比起来,实现以及流程绝对简略了一些,但数据的一致性比 2PC 也要差一些 毛病:毛病还是比拟显著的,在 2,3 步中都有可能失败。TCC 属于应用层的一种弥补形式,所以须要程序员在实现的时候多写很多弥补的代码,在一些场景中,一些业务流程可能用 TCC 不太好定义及解决。* 3、本地音讯表(异步确保)核心思想是将分布式事务拆分老本地事务进行解决,音讯生产方,须要额定建一个音讯表,并记录音讯发送状态。音讯表和业务数据要在一个事务里提交,也就是说他们要在一个数据库外面。而后音讯会通过 MQ 发送到音讯的生产方。如果音讯发送失败,会进行重试发送。长处:一种十分经典的实现,防止了分布式事务,实现了最终一致性。在 .NET 中 有现成的解决方案。毛病:音讯表会耦合到业务零碎中,如果没有封装好的解决方案,会有很多杂活须要解决。* 4、MQ 事务音讯 RocketMQ 反对,RabbitMQ 和 Kafka 都不反对,一次发送音讯和一次确认音讯,生产方须要实现一个 check 接口(确认音讯或者回滚)长处:实现了最终一致性,不须要依赖本地数据库事务。毛病:实现难度大,支流 MQ 不反对,没有.NET 客户端,RocketMQ 事务音讯局部代码也未开源。* 5、Sagas 事务模型 长时间运行的事务,该模型其核心思想就是拆分分布式系统中的长事务为多个短事务,或者叫多个本地事务,而后由 Sagas 工作流引擎负责协调,如果整个流程失常完结,那么就算是业务胜利实现,如果在这过程中实现失败,那么 Sagas 工作流引擎就会以相同的顺序调用弥补操作,从新进行业务回滚。
  • 分布式事务理解吗?有哪些解决办法?
  • 我的项目中有分布式事务处理吗?有哪些常见的分布式事务处理形式?说一下你们在我的项目中怎么用的。
  • 分布式状况下如何保障事务。如何设计实现一个分布式事务
  • 分布式事务的各种计划及你的最佳计划
  • 分布式事务是什么
  • 什么是分布式事务?分布式事务如何保证数据一致性?
  • 分布式事务晓得吗? 你们怎么解决的?TCC? 那若呈现网络起因, 网络连不通怎么办啊
  • 对分布式事务的了解
  • 分布式事务的原理,如何应用分布式事务
  • 多个服务之间调用的数据一致性问题,A 服务中调用 B 服务、C 服务,B 胜利 C 失败怎么解决?其实归根到底就是分布式事务的数据一致性解决方案,失败了数据怎么回滚
  • 分布式事务的实现形式,分布式锁,分布式一致性,redis 分布式锁;
  • 分布式事务理解吗?你们我的项目中都用到了哪些分布式事务?都有哪些优缺点?
  • 简略实现分布式事务

欢送搜寻关注自己与敌人共同开发的微信面经小程序【大厂面试助手】和公众号【微瞰技术】

退出移动版