柔性事务解决方案架构 在电商领域等互联网场景下,传统的事务在数据库性能和处理能力上都暴露出了瓶颈。柔性事务有两个特性:基本可用和柔性状态。所谓基本可用是指分布式系统出现故障的时候允许损失一部分的可用性。柔性状态是指允许系统存在中间状态,这个中间状态不会影响系统整体的可用性,比如数据库读写分离的主从同 ...
分类:
其他好文 时间:
2019-11-26 13:24:59
阅读次数:
69
面试官心理分析 从这个问题开始,面试官就已经进入了实际的生产问题的面试了。 一个分布式系统中的某个接口,该如何保证幂等性?这个事儿其实是你做分布式系统的时候必须要考虑的一个生产环境的技术问题。啥意思呢? 你看,假如你有个服务提供一些接口供外部调用,这个服务部署在了 5 台机器上,接着有个接口就是付款 ...
分类:
其他好文 时间:
2019-11-20 14:14:30
阅读次数:
115
一、什么是幂等性 可以参考数据库乐观锁机制,比如执行一条更新库存的 SQL 语句,在并发场景,为了性能和数据可靠性,会在更新时加上查询时的版本,并且更新这个版本信息。可能你要对一个事情进行操作,这个操作可能会执行成百上千次,但是操作结果都是相同的,这就是幂等性。 二、消费端的幂等性保障 在海量订单生 ...
分类:
其他好文 时间:
2019-11-15 12:03:50
阅读次数:
537
什么是幂等 幂等本来是数学上的概念,它的定义是这样的: 如果一个函数 f(x) 满足:f(f(x)) = f(x),则函数 f(x) 满足幂等性。 在计算机领域用来描述一个操作、方法或者服务。一个幂等操作的特点是,其任意多次执行所产生的影响均与一次执行的影响相同。 场景 将林志玲账户的余额加 100 ...
分类:
其他好文 时间:
2019-11-14 18:04:25
阅读次数:
71
假如有个服务提供一个接口(服务部署在多个服务机器),接着有个接口是付款接口。用户在前端上操作的时候,一个订单不小心发起了两次支付请求,然后这两个请求分散在了这个服务部署的不同的机器上,结果一个订单扣款扣两次。这样的场景,就是接口没有保证幂等性的结果。 保证幂等性的核心 1.对于每个请求必须有一个唯一 ...
分类:
其他好文 时间:
2019-10-26 21:05:39
阅读次数:
70
集群容错模式 Failover Cluster 失败自动切换 使用方法 当出现失败,重试其它服务器,通常用于读操作(推荐使用)。重试会带来更长延时。 Failfast Cluster 快速失败,抛出异常 使用方法 只发起一次调用,失败立即报错,通常用于非幂等性的写操作。如果有机器在重启,可能会出现调 ...
分类:
其他好文 时间:
2019-10-24 11:51:26
阅读次数:
86
什么是幂等性 HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。 Methods can also have the property of “idempotence ...
分类:
其他好文 时间:
2019-10-22 18:32:24
阅读次数:
72
https://blog.csdn.net/iteye_11305/article/details/82677804 什么是幂等性幂等性应用在软件系统中,我把它简单定义为:某个函数或者某个接口使用相同参数调用一次或者无限次,其造成的后果是一样的,在实际应用中一般针对于接口进行幂等性设计。举个栗子,在 ...
分类:
其他好文 时间:
2019-10-20 11:16:43
阅读次数:
82
最近遇到一个kafka方面的问题,大致就是由于consumer处理业务超时,导致无法正常提交Offset,进而导致无法消费新消息的问题。下面我想从以下几个方面对此次故障排查进行复盘分析:业务背景、问题描述、排查思路、经验教训。
分类:
其他好文 时间:
2019-10-09 19:22:43
阅读次数:
1356
幂等:是一个数学概念,表示N次变换和1次变换的结果相同。 幂等操作:其特点是任意多次执行所产生的影响均与一次执行的影响相同(不会改变资源状态,对数据没有副作用)。 幂等性:一系列操作都是幂等操作。 幂等接口:幂等接口认为,外部调用者会存在多次调用的场景,为了防止重试对数据状态的改变,需要将接口的设计 ...
分类:
其他好文 时间:
2019-09-22 01:38:48
阅读次数:
93