加入收藏 | 设为首页 | 会员中心 | 我要投稿 怀化站长网 (https://www.0745zz.cn/)- 语音技术、云资源管理、物联设备、云计算、决策智能!
当前位置: 首页 > 站长资讯 > 评论 > 正文

为什么会产生这个问题?如何保证接口幂等性?

发布时间:2021-01-29 11:33:51 所属栏目:评论 来源:互联网
导读:必须要先说明的是,我这只是举的面试中的一个小例子,并不是因为这个小问题没有回答上来就否定了他。 只是他从那次面试整体展示出来的技术能力,岗位不匹配不高而已,或许有更适合他的岗位 首先,我为什么会问分布式锁呢? 因为他简历上写了分布式相关技术,

必须要先说明的是,我这只是举的面试中的一个小例子,并不是因为这个小问题没有回答上来就否定了他。

只是他从那次面试整体展示出来的技术能力,岗位不匹配不高而已,或许有更适合他的岗位

首先,我为什么会问分布式锁呢?

因为他简历上写了“分布式相关技术”,而且我们的项目真的是在用分布式锁。

然后他只回答了一个几个字:可以用 Redis 来做。

他这个回答,从我的角度看来,是觉得不好的。

给我一种戛然而止的感觉,因为他没有说用 Redis 到底怎么做。

我怕他是知道具体的实现方式,但是属于那种问一句回答一句的人,所以我才追问了一句:能不能稍微具体一点。

他没有回答上来,所以在这个问题上,我也就不再继续聊下去了。

因为我知道了关于这个点他的技术深度,我理解,就限于知道分布式锁这个概念而已。

也许看过几篇相关的文章,但是对于其中的一些细节忘记了。

一个有五年工作经验、具有分布式项目实战的程序猿,说不清楚 Redis 分布式锁。

从我的认知里面,我觉得这个地方有点“浮于表面”。

但是在该平台的文章下面,有几个人觉得这个回答还行,至少说明他知道有这个技术。

于是我开始思考。

也许其他人的认知里面是这样的:我知道 Redis 可以做分布式锁,如果真正要用的时候,我可以很快的把这块知识拾起来。

你能说这个观点是错误的吗?

这没有错呀。

甚至我之前的文章中也出现过类似的观点:
 

总结

这里从事务的ACID开始,向大家先说了XA是分布式事务处理的规范,之后谈到2PC和3PC,2PC有同步阻塞、单点故障和数据不一致的问题,3PC在一定程度上解决了同步阻塞和单点故障的问题,但是还是没有完全解决数据不一致的问题。

之后说到TCC、SAGA、消息队列的最终一致性的方案,TCC由于实现过于麻烦和复杂,业务很少应用,SAGA了解即可,国内也很少有应用到的,消息队列提供了解耦的实现方式,对于中小公司来说可能是较为低成本的实现方式。

最后再说目前国内的实现框架,云端阿里云的GTS兼容Seata,非云端使用Seata,它提供了XA、TCC、AT、SAGA的解决方案,可以说是目前的主流选择。

(编辑:怀化站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读