0
点赞
收藏
分享

微信扫一扫

计算机网络科普

朱小落 2023-05-14 阅读 64

缓存中间件的三大坑

  • 缓存击穿
    • 用户访问热点数据,并且缓存中没有热点数据,大量访问直接到DB,热点击穿
    • 采用Canal做数据异构方案,把数据库中的值全部放到缓存
    • 热点缓存策略:通过分析调用日志获取热点数据,放到缓存中
    • 数据到期之前上锁,然后异步刷新缓存,刷新结束后拿掉锁
  • 缓存血崩:key集中过期
    • 调整缓存的过期策略:比如永不过期
    • 过期时间散列:基础时间 + 动态散列时间
    • 缓存预热
  • 缓存穿透
    • 用户访问的是缓存和数据库中都不存在的数据,所以一直不会命中缓存,会直接访问数据库
    • 不存在的数据也构建缓存
    • 布隆过滤器

进击的布隆过滤器

在这里插入图片描述

在这里插入图片描述

消息组件的选型分析

  • 选型关注点:可靠性、消息堆积能力、吞吐量
  • ActiveMQ(过期)
  • RocketMQ、RabbitMQ
    • 可靠性好
    • 可靠性好
    • 死信队列
    • 事务能力
  • Kafka
    • T级堆积能力
    • 顺序读写

线上预警和业务埋点

线上监控预警

订单交易核心链路

  • 业务量阈值(每分钟采集 < X个/分钟)
  • 异常拐点、离群点
    • 平均500单/秒
    • 10单/秒
    • 2000单/秒
  • 异常监控(大于10个/分钟)
  • 核心接口性能基线(平均RT>1000ms)

面试题

项目中的缓存场景,如果并发量+++

  • 缓存血崩、缓存击穿、缓存穿透
  • 热点缓存淘汰策略,多级缓存,布隆过滤器

为什么这个场景使用RMQ,换成Kafka呢?

  • 中间件特性、可靠性要求

业务买点的场景和用途

设计一套轻量级的系统水位监控系统

  • 异步化
  • 基于日志埋点(网络日志 & 应用日志)
举报

相关推荐

0 条评论