解决幂等问题,只需要记住这个口诀
作为开发人员,我们每天都要开发大量的接口,其中包括了读接口和写接口,而对于写接口来说,除了要保证他的性能、可用性以外,还需要有一个重要的问题,那就是考虑如何保证接口的幂等性。 幂等性 什么是幂等性? 幂等(idempotent、idempo...
作为开发人员,我们每天都要开发大量的接口,其中包括了读接口和写接口,而对于写接口来说,除了要保证他的性能、可用性以外,还需要有一个重要的问题,那就是考虑如何保证接口的幂等性。 幂等性 什么是幂等性? 幂等(idempotent、idempo...
在电商、支付等系统中,一般都是先创建订单(支付单),再给用户一定的时间进行支付,如果没有按时支付的话,就需要把之前的订单(支付单)取消掉。这种类似的场景有很多,还有比如到期自动收货、超时自动退款、下单后自动发送短信等等都是类似的业务问题。 ...
什么鬼,面试官竟然让我用Redis实现一个消息队列!!? 众所周知,redis是一个高性能的key-value数据库,在NoSQL数据库市场上,redis自己就占据了将近半壁江山,足以见到其强大之处。同时,由于redis的单线程特性,我们可...
在我的博客中,介绍过很多关于分布式和事务的文章,在阅读本文之前,希望读者可以对这些基础知识有所了解,这里简单把之前的文章列举下,已经按照顺序排好,可按顺序阅读: 初识分布式系统 关于分布式一致性的探究 分布式系统的CAP理论 分布式系统的B...
目前几乎很多大型网站及应用都是分布式部署的,分布式场景中的数据一致性问题一直是一个比较重要的话题。分布式的CAP理论告诉我们“任何一个分布式系统都无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(...
在上一篇文章中说到过,Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。这是从事务的实现角度区分的,本文从另外一个角度来再次区分一下Java中的事务。 站在事务管理的角度,可以把Jav...
我的博客中曾经关于事务有过很多讨论,之前的事务介绍基本都是数据库层面的事务,本文来介绍一下J2EE中和事务相关的内容,在阅读本文之前,希望读者对分布式有一定的了解。 关于事务的基础知识这里不再详细介绍,想要了解的同学可以在我的博客中阅读相关...
命名服务,顾名思义,就是帮助我们对资源进行命名的服务,命名的目的当然是为了更好的定位了。这里所提到的资源在不同场景中包括但不限于计算机(主机)名和地址、应用提供的服务的地址或者远程对象等。 本文主要介绍Java中的命名服务、简单的命名服务的...
关注我的博客(http://www.hollischuang.com)的人可能都知道,我之前写过一篇文章专门介绍了一下2PC和3PC(详见:关于分布式事务、两阶段提交协议、三阶提交协议)。上一篇文章中主要介绍了下这两种分布式一致性协议的概念...
在介绍了Zookeeper的安装之后,就可以了解一下Zookeeper中的常用概念了。本文将主要介绍ZK中角色、数据模型、节点、ACL、watcher等概念。 角色 在Zookeeper概述中也提到过,Zookeeper的Follower在...