当前位置: 首页 > wzjs >正文

抚州网站网站建设河南省建设部网站

抚州网站网站建设,河南省建设部网站,佛山专业网站制作公司,搜狗网站优化软件Redlock原理和存在的问题 Redlock 基于以下假设: 有多个(一般建议是 5 个)彼此独立的 Redis 实例(不是主从复制,也不是集群模式),它们之间没有数据同步。客户端可以与所有 Redis 实例通信。 …

Redlock原理和存在的问题

Redlock 基于以下假设:

  • 有多个(一般建议是 5 个)彼此独立的 Redis 实例(不是主从复制,也不是集群模式),它们之间没有数据同步。
  • 客户端可以与所有 Redis 实例通信。

获取锁的步骤如下:
假设我们有 5 个 Redis 实例:R1、R2、R3、R4、R5。

  1. 客户端获取当前时间(毫秒级)。
  2. 依次尝试在 5 个 Redis 实例上设置同一个 key,使用 SET resource_name my_random_value NX PX ttl。
  3. 客户端在每个 Redis 实例上设置锁时都会设置一个过期时间(例如 10 秒)。
  4. 如果客户端成功在多数实例(至少 3 个,也就是半数以上)上获取到锁,并且耗时小于锁的过期时间(10 秒),则认为获取锁成功。
  5. 如果获取锁失败(少于 3 个成功或超时),客户端会在所有实例上尝试释放锁(通过比对随机值)。
  6. 解锁时,也要确保只能删除自己设置的锁(通过 value 校验)。

存在的问题

  • 每个redis实例分别有从节点的情况,在主节点上完锁,在同步到从节点之前挂了,此时没有锁的从节点成为了主节点。此时会出现不同线程加了多把锁。
  • 在redis配置一秒持久化一次时,redis刚好在这一秒宕机丢失数据,恢复后也可能会出现多把锁

分布式锁优化

  1. 加锁范围优化。尽量缩小锁的粒度和作用范围,使用细粒度锁或分段锁。
  2. 热点数据在每次查询延期,做到冷热数据分离。

缓存击穿、穿透、雪崩

  1. 缓存击穿。数据过期的时候一下子涌入大量的请求,在缓存中不存在,
    • 加互斥锁,只允许一个线程去更新缓存数据
    • 异步预热缓存
  2. 缓存穿透。请求的数据根本不存在于缓存和数据库中,每次请求都会打到数据库,导致数据库压力剧增。
  • 缓存空对象。对不存在的数据也缓存一个空值,设置较短过期时间。查同一个不存在的商品进行空值延期
  • 布隆过滤器。
  • 参数校验。请求前先校验 userId 是否合理,比如正整数、存在合法范围
  1. 缓存雪崩。大量缓存同时失效(或者缓存层支撑不住或者宕机),请求直接打到数据库,造成数据库瞬间崩溃或响应变慢。
  • 过期时间随机化。避免大量 key 同时过期(比如加上随机 1~5 分钟)
  • 设置热点数据永远不过期。
  • 缓存预热或提前加载。系统启动时或定时任务提前加载热门缓存

突发大量缓存重建

使用分布式锁和dcl(双重检查),只允许一个线程去更新缓存数据。好处是全局一把锁并且一把锁只锁一个对应需要重建的数据。

优化:确定得出数据的时间可以使用trylock避免大量的锁逻辑

缓存与数据库双写不一致

更新缓存的线程在查到数据以后卡顿或者cpu调度被其他线程先更新了数据库,这时候更新缓存的线程把之前读到的旧值写入缓存。

  • 延迟双删
  • 高一致性。对更新缓存的操作加分布式锁,优化可以使用分布式读写锁(因为写数据库要更新缓存,读数据库也要更新缓存(在缓存没对应数据的情况))

出现redis扛不住的流量

  • 保证缓存层的高可用
  • 接口限流
  • Java的进程内缓存框架EhCache、Guava Cache,使用发布订阅让其他服务更新缓存。

CAP 冲突,指的是分布式系统中无法同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition Tolerance)这三个特性,最多只能同时满足其中两个。
多级缓存不要考虑绝对一致了。


文章转载自:

http://M7mI77vD.wnrcj.cn
http://5IgIqJ6y.wnrcj.cn
http://9pBq8ZJA.wnrcj.cn
http://YVChxXEC.wnrcj.cn
http://Wrjro8Og.wnrcj.cn
http://9fVm6KPm.wnrcj.cn
http://rsI5YA5Z.wnrcj.cn
http://miRWrcDL.wnrcj.cn
http://WYNsUQ48.wnrcj.cn
http://WHi9lwJO.wnrcj.cn
http://hc5t62OV.wnrcj.cn
http://cpTKe9ej.wnrcj.cn
http://ya3JBved.wnrcj.cn
http://W98N66ji.wnrcj.cn
http://Mc7htacr.wnrcj.cn
http://tDBye2X1.wnrcj.cn
http://pJFhasR6.wnrcj.cn
http://xpOuysqU.wnrcj.cn
http://KNmeFAZA.wnrcj.cn
http://bZ1kS4P6.wnrcj.cn
http://0X5bpYqw.wnrcj.cn
http://3G6z50WQ.wnrcj.cn
http://YhXcVu4D.wnrcj.cn
http://Qob562y9.wnrcj.cn
http://PEU3GCcI.wnrcj.cn
http://KBE3nC7g.wnrcj.cn
http://zJy1Nm4N.wnrcj.cn
http://VEzVRViM.wnrcj.cn
http://NsAVdcMh.wnrcj.cn
http://3tUMGUGd.wnrcj.cn
http://www.dtcms.com/wzjs/627233.html

相关文章:

  • 如何做自适应网站互联网传媒公司
  • 好的做淘宝详情页的网站有哪些58同城网站建设
  • 用什么网站开发短链短网址在线生成工具
  • 交流做病理切片的网站wordpress二次开发函数
  • 宿州高端网站建设公司哪家好建设部人才网站
  • 互联网网站制作公司哪家好wordpress4.0.6 漏洞
  • 网站开发项目技能比赛获奖报道适合30岁女人的培训班
  • 企业网站seo优帮云wordpress设计笔记
  • 无锡工程建设信息网站二级域名站群
  • 崇信县网站留言乐享校园网站建设策划书
  • 网站建设费用主要包括那几项wordpress 自动安装 插件
  • 网站建设需要考什么证学生网页设计作品欣赏
  • 找设计公司上哪个网站企业建站系统免费
  • 网站建设愿景网页设计教程读后感
  • 怎么查网站备案域名备案信息公司合法网站域名怎么注册
  • 佛山seo网站推广结婚证制作生成器app
  • 网站建设技术服务的方式是什么广东住房和城乡建设厅官方网站
  • logosc网站怎么做的宿州建设企业网站公司
  • 做公司网站 需要注意什么网站维护有哪些企业
  • 平阳网站建设网站建设维护方案ppt
  • 网站备案号查询网址新媒体营销案例分析
  • 上海网站制作公司怎么找网站内容管理系统(cms)
  • 省交通建设质安监督局网站班级网站建设论文
  • php做购物网站详情页的代码做ppt的网站叫什么
  • 网站怎么设计wordpress数据库在哪
  • 关键词网站怎样制作小视频
  • 织梦dede做网站的优点装饰设计院
  • cc域名做网站好吗最近一周的时政热点新闻
  • 有没有哪个网站免费做简历的南京模板做网站
  • 丰台网站建设联系方式网站建设使用多语言