排序
面试官:生成订单30分钟未支付,则自动取消,该怎么实现
大家好,我是一安,之前有介绍使用RabbitMQ延时队列实现,一种是基于死信队列,但使用死信会存在两个弊端,所以又提到一种基于rabbitmq_delayed_message_exchange插件的方式,这两种是比较常见...
分布式缓存系统Redis原理解析
Redis作为内存数据库已经广泛应用于大数据领域,已经成为分布式架构下的基础组件。本文主要介绍了Redis内部的实现原理包括IO模型、内存管理、数据持久化等以及三种集群架构,旨在了解其中的实现...
SPM/SCM 流量跟踪体系
SPM SPM(shopping page mark,导购页面标记) 是淘宝社区电商业务(xTao)为外部合作伙伴(外站)提供的跟踪引导成交效果数据的解决方案 注:也有解释 SPM 为超级位置模型(Super Position Mode...
JDK 延时队列实现消息定时发送
做一个消息延时发送的需求,类似于订单超时取消,设定好时间,定时发送短信,因为没有什么并发,也不需要一些其他的中间件,像 MQ 这些增加复杂度,所以就使用 JDK 的提供的延时队列功能。 如果...
【JVM系统学习之路】 神奇的 JAVA 堆,难学会?
JVM系统学习之路系列演示代码地址:https://github.com/mtcarpenter/JavaTutorial 前言 面试中是否遇到如下与堆相关问题? JVM 内存为什么要分成新生代,老年代,持久代? 新生代中为什么要分为...
JUC之CompletableFuture(二)
大家好,我是栗子为 上次我们介绍了CompletableFuture的一些基本方法,我们也知道CompletableFuture具有Future接口的优点,同时又提供了更强大的API,这一篇我们就来彻底学完CompletableFuture...
开源项目|1000行代码实现http_bench
介绍 http_bench是HTTP(HTTP/1, HTTP/2, HTTP/3, Websocket)压测工具,并支持单机和分布式,为了简洁,直接用1000行左右实现。有兴趣读源码朋友,可以点击【阅读原文】或者访问【开源地址】(当...
用户重复注册分析-多线程事务中加锁引发的bug
本文记录博主线上项目一次用户重复注册问题的分析过程与解决方案 • 博主github地址: github.com/wayn111 一 复现过程 线上客户端用户使用微信扫码登陆时需要再绑定一个手机号,在绑定手机后...
软考案例问答:48个高频问题规律总结分享
❝ 今天将分析48个软考案例,这些整理反映了项目管理过程中可能出现的一系列问题,包括但不限于人力资源管理、沟通管理、合同管理、需求管理、范围管理、质量保证、进度控制、变更控制等方面的...
异步批处理教程
书接上回 大数据量、高并发业务怎么优化?(一)[1] 文章中介绍了异步批处理的三种方式,本文继续深入针对前两种进行讲解,并给出代码示例: image.png 一 普通版本,采用阻塞队列 ArrayBloc...