讲讲积分业务

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 讲讲积分业务

积分变动这种业务,可能会有多条业务线同时扣增(增扣、系统发放等)或用户重复提交操作或mq多次消费,导致资源竞争,加锁一般有三种:一种是数据库加个悲观锁(如select .. from update,优点是简单可行,缺点是性能较差),一种是分布式锁(redis、zk,性能较好,缺点是分布式锁本身不安全),还有另外一种,用数据库乐观锁,但要考虑重试机制。


采用 ZooKeeper 实现的分布式锁,在实现原理上与 Redis 有一定的区别,它采用临时序列节点的方式实现公平的分布式锁,并通过 Watcher 机制,避免了释放锁时可能产生的羊群效应。


ZooKeeper 以其强一致性的特点,使得采用它实现的分布式锁安全可靠,不过性能相比 Redis 差一些。


实际使用中可以直接采用 Curator 提供的分布式锁方案,Curator Recipes 库包括了可重入、共享锁、信号量、栅栏等多种实现,方便可靠。



Redis 实现的分布式锁,是通过setnx 来实现的,此命令同样是原子性操作,只有在key不存在的情况下,才能set成功。


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
8月前
|
数据挖掘 黑灰产治理
排队免单商城系统开发详细案例/方案项目/源码指南
排队免单商城系统开发设计是指开发一种商城系统,其中用户可以通过排队活动获得商品免单的机会。
|
8月前
|
消息中间件 NoSQL Redis
秒杀的设计思路与实践
秒杀的设计思路与实践
69 1
|
5天前
|
消息中间件 NoSQL 架构师
招行面试:亿级秒杀,超卖问题+少卖问题,如何解决?(图解+秒懂+史上最全)
45岁资深架构师尼恩在读者交流群中分享了如何系统化解决高并发下的库存抢购超卖少买问题,特别是针对一线互联网企业的面试题。文章详细解析了秒杀系统的四个阶段(扣库预扣、库存扣减、支付回调、库存补偿),并通过Redis分布式锁和Java代码示例展示了如何防止超卖。此外,还介绍了使用RocketMQ延迟消息和xxl-job定时任务解决少卖问题的方法。尼恩强调,掌握这些技术不仅能提升面试表现,还能增强实际项目中的高并发处理能力。相关答案已收入《尼恩Java面试宝典PDF》V175版本,供后续参考。
|
4月前
|
运维 测试技术
拆分软件测试流程,一张图秒杀所有面试
本文主要介绍了软件测试流程的核心内容,包括需求分析、测试用例编写、测试执行、缺陷提交及回归测试等关键步骤。以迭代测试为例,详细说明了每个环节的具体操作和注意事项,并提供了一张测试流程图以便理解。测试流程确保了软件质量,是面试中常见的考察点。
103 7
拆分软件测试流程,一张图秒杀所有面试
|
8月前
|
算法 测试技术 数据安全/隐私保护
简单粗暴的分佣机制:链动2+1系统开发案例
- 团队协作:在团队中合理分工,确保沟通和协作顺畅。 - 版本控制:使用版本控制系统来管理代码的修改和版本历史。 - 文档记录:及时记录开发过程中的决策、问题和解决方案。 - 安全性和隐私保护:考虑软件的安全性和隐私保护,遵循相关法律和准则。
|
8月前
|
监控 算法 前端开发
聊聊我在淘宝的成长公式和业务思考
聊聊我在淘宝的成长公式和业务思考
102 0
|
消息中间件 负载均衡 应用服务中间件
秒杀场景的设计思路和方案
秒杀场景的设计思路和方案
381 0
|
8月前
|
存储 移动开发 算法
一文理解淘宝购物车背后的逻辑
提升用户的使用体验才是产品升级的核心,本文将从业务发展以及技术沉淀两个方面来总结淘宝购物车的产品升级之路。
886 0
一文理解淘宝购物车背后的逻辑
|
缓存 监控 前端开发
高频面试题:秒杀场景设计
秒杀这个话题到现在来说已经是一个老生常谈的话题了,不过因为又临近一年一度的双11,而且发现前段时间无论是阿里还是腾讯一些大厂其实还是在频繁的问到这个场景题,所以还是准备拿出来说说。
高频面试题:秒杀场景设计