云事业群CTO线技术晋升考核机试题-分布式专题-G 分布式幂等架构设计

这篇具有很好参考价值的文章主要介绍了云事业群CTO线技术晋升考核机试题-分布式专题-G 分布式幂等架构设计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分布式篇-G 分布式幂等架构设计

作者:田超凡

1 幂等的基本概念

答:幂等指的是同一块业务逻辑重复多次执行时,只能令其生效一次,防止重复执行。

2 幂等的发生场景

答:文章来源地址https://www.toymoban.com/news/detail-561420.html

  1. RPC调用接口的幂等性问题
  2. MQ消费者防止重复消费的幂等性问题
  3. 定时任务防止重复执行的幂等性问题

3 RPC调用接口的幂等性问题产生背景

答:客户端向服务器端发送请求,服务器端一直不返回响应给客户端。客户端设置一个超时时间,当服务器端超过规定的时间还不返回响应给客户端时,就认为其已经超时。

服务器端超时,客户端会重试发送请求到服务器端,从而导致同一个接口可能被多次RPC调用的问题。

4 RPC调用接口的幂等性问题解决方案

答:分三种情况讨论:

  1. INSERT类型:将全局id作为主键插入到数据库表中,防止重复插入
  2. UPDATE类型:基于CAS乐观锁+版本号Version控制
  3. DELETE类型:大多数都不是物理删除,而是逻辑删除。逻辑删除本质还是UPDATE修改状态,所以也可以采用CAS乐观锁+版本号Version控制。

5 MQ消费者防止重复消费的幂等性问题解决方案

答:消息内容中新增一个全局消息id

MQ消费者接收到消息后,获取全局消息id,到数据库中查询

如果不存在,说明该消息没有被消费过,正常消费

如果已存在,说明该消息已经被消费过,不再重复消费,直接丢弃该消息。

6 定时任务防止重复执行的幂等性问题解决方案

答:

  1. 彻底解耦。将定时任务逻辑和业务逻辑实现彻底解耦分开,只对业务逻辑实现服务集群,不对定时任务逻辑实现服务集群(定时任务服务单机)
  2. 配置文件新增开关。服务启动时先读取该开关配置,如果配置了开启,则加载定时任务类、执行定时任务。如果配置了关闭,则不加载定时任务类、不执行定时任务。
  3. 数据库主键唯一性。多个服务同时插入相同主键id到同一个数据库表中,因为数据库表中的主键是由唯一约束的,所以只有一个服务能插入成功,谁插入成功谁就可以执行定时任务。
  4. 分布式锁。每个服务本质都是一个JVM,可以基于分布式锁机制实现:多个服务JVM同时获取分布式锁,同一时刻只有一个JVM能获取到分布式锁,谁获取到分布式锁,谁就可以执行定时任务。分布式锁的主流实现方案有两种:基于zookeeper实现分布式锁和基于redis实现分布式锁,可以根据实际业务场景的需要选择合适的实现方案。
  5. 分布式任务调度平台。同时解决定时任务高可用和幂等性问题。

到了这里,关于云事业群CTO线技术晋升考核机试题-分布式专题-G 分布式幂等架构设计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云事业群CTO线技术晋升考核机试题-分布式专题-G 分布式幂等架构设计

    作者:田超凡 1 幂等的基本概念 答:幂等指的是同一块业务逻辑重复多次执行时,只能令其生效一次,防止重复执行。 2 幂等的发生场景 答: RPC 调用接口的幂等性问题 MQ 消费者防止重复消费的幂等性问题 定时任务防止重复执行的幂等性问题 3 RPC调用接口的幂等性问题产生

    2024年02月16日
    浏览(21)
  • 分布式【RPC 常见面试题】

    一、注册中心 策略:服务注册原理、注册中心结构、zookeeper的原理、几个注册中心的区别、分布式算法、分布式事务。 项目细节:服务注册、服务发现、服务注销、监听机制 介绍一下服务注册中心怎么做的? (1)服务发现: 服务注册/反注册:保存服务提供者和服务调用者

    2024年02月03日
    浏览(34)
  • 分布式系统架构设计之分布式缓存技术选型

    随着互联网业务的快速发展,分布式系统已经成为了解决大规模并发请求、高可用性、可扩展性等问题的重要手段。在分布式系统中,缓存作为提高系统性能的关键技术,能够显著降低数据库负载、减少网络延迟、提高数据访问速度。当面对大量并发请求时,如果每次都直接

    2024年02月03日
    浏览(43)
  • 【分布式技术】分布式存储ceph之RGW接口

    目录 1、对象存储概念  2、创建 RGW 接口 //在管理节点创建一个 RGW 守护进程 #创建成功后默认情况下会自动创建一系列用于 RGW 的存储池  #默认情况下 RGW 监听 7480 号端口  //开启 http+https ,更改监听端口 #更改监听端口 ​          //创建 RadosGW 账户 客户端测试 OSD 故障模拟

    2024年01月19日
    浏览(44)
  • 【分布式技术】分布式存储ceph之RBD块存储部署

    目录 创建 Ceph 块存储系统 RBD 接口 服务端操作 1、创建一个名为 rbd-demo 的专门用于 RBD 的存储池 2、将存储池转换为 RBD 模式 3、初始化存储池 4、创建镜像 5、在管理节点创建并授权一个用户可访问指定的 RBD 存储池 6、修改RBD镜像特性,CentOS7默认情况下只支持layering和stripin

    2024年01月18日
    浏览(57)
  • 【分布式技术专题】「分布式技术架构」 探索Tomcat技术架构设计模式的奥秘(Server和Service组件原理分析)

    Tomcat的总体结构从外到内进行分布,最大范围的服务容器是Server组件,Service服务组件(可以有多个同时存在),Connector(连接器)、Container(容器服务),其他组件:Jasper(Jasper解析)、Naming(命名服务)、Session(会话管理)、Logging(日志管理)、JMX(Java 管理器扩展服务

    2024年01月24日
    浏览(30)
  • 分布式补充技术 01.AOP技术

    01.AOP技术是对于面向对象编程(OOP)的补充。是按照OCP原则进行的编写,(ocp是修改模块权限不行,扩充可以) 02.写一个例子: 创建一个新的java项目,在main主启动类中,写如下代码。 一个接口,一个接口实现类,一个main主方法。 03.如果要实现显示接口实现类中的send方法运行

    2024年02月07日
    浏览(36)
  • 分析分布式架构-技术

    提高系统的性能 提高吞吐量,服务更多的客户。提高并发和流量。 通过以下的技术提高处理高并发场景的能力 缓存系统,更快的响应客户端的请求。降低对数据库的压力( 提高响应速度 ) 前端浏览器,网络,后端服务,底层数据库,文件系统,硬盘,CPU都有缓存。 在分布式

    2024年02月16日
    浏览(36)
  • 分布式技术剖析

    随着企业数字化进程的进一步深入,企业为了解决大数据的“4个V”问题,往往需要构建多个不同技术栈的大数据平台,其中不乏会使用到分布式相关的存储、计算、资源管理技术。分布式系统的出现解决了单机系统无法解决的成本、效率和高可用问题。那么什么是分布式技

    2023年04月10日
    浏览(24)
  • 分布式账本技术的阐述

    id:BSN_2021 公众号:BSN研习社 分布式账本技术产生的算法是一种强大的、具有颠覆性的创新,它有机会变革公共与私营服务的实现方式,并通过广泛的应用场景去提高生产力。 分布式账本,从实质上说就是一个可以在多个站点、不同地理位置或者多个机构组成的网络里进行分

    2024年02月15日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包