讲讲积分业务

本文涉及的产品
云数据库 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
目录
相关文章
|
6月前
|
数据挖掘 黑灰产治理
排队免单商城系统开发详细案例/方案项目/源码指南
排队免单商城系统开发设计是指开发一种商城系统,其中用户可以通过排队活动获得商品免单的机会。
|
6月前
|
消息中间件 NoSQL Redis
秒杀的设计思路与实践
秒杀的设计思路与实践
60 1
dapp预约抢单排单互助系统开发逻辑详细/功能说明/案例分析/方案规则/源码出售
Allow users to register accounts and verify their identities to ensure that the identities of participants are valid and authentic.
|
2月前
|
运维 测试技术
拆分软件测试流程,一张图秒杀所有面试
本文主要介绍了软件测试流程的核心内容,包括需求分析、测试用例编写、测试执行、缺陷提交及回归测试等关键步骤。以迭代测试为例,详细说明了每个环节的具体操作和注意事项,并提供了一张测试流程图以便理解。测试流程确保了软件质量,是面试中常见的考察点。
62 7
拆分软件测试流程,一张图秒杀所有面试
|
6月前
|
新零售 大数据 物联网
排队免单系统开发|成熟案例|源码部署
通过互联网+,利用云计算、大数据等技术在业务流程中嵌入智能管理
|
6月前
|
算法 测试技术 数据安全/隐私保护
简单粗暴的分佣机制:链动2+1系统开发案例
- 团队协作:在团队中合理分工,确保沟通和协作顺畅。 - 版本控制:使用版本控制系统来管理代码的修改和版本历史。 - 文档记录:及时记录开发过程中的决策、问题和解决方案。 - 安全性和隐私保护:考虑软件的安全性和隐私保护,遵循相关法律和准则。
|
存储 安全 前端开发
DApp公排互助预约抢单排单模式系统开发参考版/详细流程/方案逻辑/规则玩法/案例设计/源码程序
需求分析:与团队明确系统的需求、目标和范围,包括公排互助预约抢单排单模式系统的功能、规则、奖励机制等方面
|
存储 区块链
秒合约交易系统自定义行情周期技术开发原理及源码分析
秒合约交易系统自定义行情周期技术开发原理及源码分析
|
存储 小程序 微服务
电商系列:以一个订单服务为例来讲讲如何设计一个基础服务
电商系列:以一个订单服务为例来讲讲如何设计一个基础服务
385 0
|
存储 分布式数据库 区块链
DAPP竞拍互助拆分公排系统开发玩法规则/详细逻辑/源码程序
  区块链技术一般用于构建交易系统,而且要保证交易的信息真实可信,可追踪且不可篡改。每一次交易的信息被确认后存储在一个区块中,区块信息通过散列技术加密,以保证信息不被篡改。这些区块按时间顺序构成链条。每个节点都保有完整的区块链信息,个别节点的信息损坏,不会对区块链信息产生影响。这种信息记录方式被称作分布式账本。