应用场景
文章平均质量分 84
雨夜归人93
这个作者很懒,什么都没留下…
展开
-
日常设计-- 延迟队列
最近项目需要用到延迟队列,本来考虑使用MQ实现,但由于目前使用RocketMq,不支持灵活的延迟时间配置,最终采用redis实现延迟功能。一. Redis ZSET实现延迟队列大体思路:使用ZSet结构,以messageId作为value,延迟时间delayTIme作为score。每次获取小于当前时间的数据。推送消息推送消息只是简单将数据以及延迟时间放入延迟队列中。 public void push(long messageId,long delayTime) { long s原创 2021-11-23 22:24:36 · 928 阅读 · 0 评论 -
秒杀的设计与实践
秒杀在电商中是一个很常见的场景。所谓“秒杀”,就是网络卖家发布一些超低价格的商品,所有买家在同一时间网上抢购的一种销售方式从技术角度出发,秒杀是指在短时间内,大量用户并发请求去争夺有限数量的产品。一.秒杀设计考虑的问题对于秒杀,设计时要考虑哪些问题呢?1. 超卖何谓超卖?即指卖出的商品超出了设定的库存。秒杀场景下,商品的价格一般是特别低的,本身就是亏本,吸引客户。一旦出现超卖,会造成大量经济损失。所以超卖可谓第一个要注意点。2. 高并发秒杀都是数秒内出现大量请求,如果这些请求都到数据库,很容易原创 2021-09-11 21:29:10 · 382 阅读 · 0 评论