背景
分布式服务
Tair是阿里开发的类似redis的分布式缓存。
阿里的HSF提供异步调用的方式。 异步调用在发起调用时,HSF service的调用结果都是返回值的默认值,如返回类型是int,则会返回0;返回类型是Object,则会返回null。而真正的结果,是在HSFResponseFuture或者回调函数中获得的。这么做只有一个理由,就是因为线程是一种非常宝贵的资源
数据库
分布式事务中间件GTS(TXC)
实时计算
实时计算平台Blink:支撑阿里绝大部分实时计算任务,双11当天毫秒级延迟;
抢购
抢购的核心是一个i--
问题。任何一个抢购系统都是下面步骤。
读取库存到线程堆栈-->验证线程堆栈的库存大于0-->将线程堆栈的库存减去1-->更新中心库存
显然,上述逻辑在并发时不行。最简单的做法是采用锁。当然也可以采用无锁的方式(也就是乐观锁)。
当然还有使用队列的异步方式。