首页
学习
活动
专区
工具
TVP
发布

无题

专栏作者
17
文章
23565
阅读量
29
订阅数
分布式锁通用解决方案
分布式锁的解决方式: 基于数据库: 基于数据库表做乐观锁,用于分布式锁。(version) 基于数据库表做悲观锁(InnoDB,for update) 基于数据库表数据记录做唯一约束(表中记录方法名称) 基于缓存: 常用方案:使用redis的setnx()用于分布式锁。(setNx,直接设置值为当前时间+超时时间,保持操作原子性) 使用memcached的add()方法,用于分布式锁。 使用Tair的put()方法,用于分布式锁。 基于Zookeeper: 每个客户
于霆霖
2018-05-04
3.7K0
高并发商品详情页构建
* 主要思路: 1、数据变更还是通过MQ通知; 2、数据异构Worker得到通知,然后按照一些维度进行数据存储,存储到数据异构JIMDB集群(JIMDB:Redis+持久化引擎),存储的数据都是未加工的原子化数据,如商品基本信息、商品扩展属性、商品其他一些相关信息、商品规格参数、分类、商家信息等; 3、数据异构Worker存储成功后,会发送一个MQ给数据同步Worker,数据同步Worker也可以叫做数据聚合Worker,按照相应的维度聚合数据存储到相应的JIMDB集群;三个维度:基本信息(基本信息+扩展
于霆霖
2018-05-04
1.4K0
在高并发的核心技术中如何实现幂等性
* 实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。 例如: 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱; 发送消息,也应该只发一次,同样的短信发给用户,用户会崩溃; 创建业务订单,一次业务请求只能创建一个,创建多个就会出大问题。 等等很多重要的情况,这些逻辑都需要幂等的特性来支持。 下面说说幂等性概念: 幂等(idempotent、idemp
于霆霖
2018-05-04
1.8K0
Redis高可用要点
1.持久化方式(全量持久化与增量持久化) 2.水平拆分(数据分布) 3.主从复制(主从分工) 4.故障转移(sentinel相互感知,master故障发现,failover决策) 1.持久化方式 1)全量持久化模式: 基于全量的持久化在触发的时候,将当时的状态完全保存下来,形成一个snapshot 2)增量持久化模式: 基于全量的持久化保存的是数据的状态,增量持久化保存的状态的每一次变迁。 基于增量持久化的数据,可以对给定初始状态之后变迁进行回放,恢复数据的最终状态。 2.水平拆分(数据分布) 1)数据分
于霆霖
2018-05-04
6830
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档