讲师中心 微信公众号

工具推荐

视频效率加速
立刻MV
立刻MV

低成本歌曲 MV、视频生成

AniShort
AniShort

AI短剧协同制作平台

updream

一键生成高质量推广成片

Seko
Seko

AI短剧一键生成成片

Redis缓存穿透防护_在网关层面如何集成布隆过滤器

云枫姑娘_5506

云枫姑娘_5506

发布时间:2026-04-13 08:50:06

|

817人浏览过

|

来源于php中文网

原创

网关层布隆过滤器必须与请求生命周期强绑定,否则会导致漏判、错位或延迟;需统一key格式、预热数据、合理设置误判率,并用真实日志验证效果。

redis缓存穿透防护_在网关层面如何集成布隆过滤器

网关层集成布隆过滤器不能只靠 Redis 自带的 BF.ADD/BF.EXISTS 就完事——它必须和请求生命周期强绑定,否则过滤逻辑会漏掉、错位或拖慢首字节响应。

为什么网关层布隆过滤器常失效

常见错误是把布隆过滤器当成“缓存前置开关”独立部署:网关查一次 BF.EXISTS,再转发请求。问题在于:

  • Redis 网络 RTT 会直接加在每个请求链路里,高并发下延迟毛刺明显
  • 没处理 BF.EXISTS 返回 false 后的兜底行为(比如是否该放行?是否要同步加载到过滤器?)
  • 过滤器初始化阶段,历史数据未预热,上线即误判率飙升
  • Key 格式不统一(如带前缀、大小写混用),导致网关计算的 hash 和后端服务写入的不一致

Spring Cloud Gateway + Redisson 的实操要点

推荐用 Redisson 的 RBloomFilter,它封装了本地缓存 + 远程 fallback,比直连 Redis 命令更稳:

Sentinal Redis
Sentinal Redis

监控Redis服务器健康状况、内存、性能及BullMQ队列。检查队列深度、失败任务,分析慢查询并诊断问题。

下载
  • 初始化时调用 tryInit(expectedInsertions, falsePositiveProbability),expectedInsertions 必须按未来 7 天预估峰值流量设,别用拍脑袋的 10w
  • 网关拦截器中,对目标 key(如 /user/{id} 提取后的 12345)做标准化:trim、转小写、去非法字符,再传给 bloomFilter.contains()
  • 若 contains() 返回 false,直接返回 404 或自定义错误码,**绝不透传请求**;若返回 true,继续走下游
  • 注意:Redisson 默认不自动刷新本地缓存,需手动配置 setReadMode(ReadMode.MASTER_SLAVE) 避免主从延迟导致误判

Key 设计与误判率的实际权衡

误判率不是越低越好,它和内存、吞吐强相关。线上建议按场景分档:

  • 用户 ID 查询类(ID 为数字):falsePositiveProbability = 0.01,expectedInsertions = 500_000,bit 数组约 8MB
  • URL 去重类(字符串长度不定):falsePositiveProbability = 0.03,必须加前缀截断(如只取 host + path,丢弃 query 参数)
  • 千万别用原始 URL 全量哈希——crc32 对长字符串碰撞率陡增,改用 MurmurHash3 或 Redisson 内置的 Hashing.murmur3_128()

上线前必须验证的三个点

很多团队跳过这步,结果灰度期大量 404 报警:

  • 用生产环境最近 1 小时的 access log 抽样 1w 条真实 key,跑一遍 bloomFilter.contains(),统计 false negative(应为 0)和 false positive(应在标称误差 ±10% 内)
  • 模拟一个不存在的 key(如 id=9999999999),确认网关拦截并返回预期状态码,且 Redis 中无该 key 的任何写操作痕迹
  • 压测时观察 redis_bloom_filter_check_total 和 redis_bloom_filter_block_total 两个 Prometheus 指标,后者突增说明过滤器已成瓶颈

布隆过滤器真正的复杂点不在代码几行 add 和 contains,而在于 key 的语义一致性、误判可接受边界与业务 SLA 的对齐——它是个概率组件,得用业务语言去校准,不是扔进网关就自动生效。

热门AI工具

更多
切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

码上飞
码上飞 Hot

一款基于自然语言的AI应用开发平台,可根据用户描述自动生成应用程序,帮助个人和团队快速完成应用原型与开发。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

UP简历
UP简历 Hot

一款AI办公效率工具,主要用于基于AI技术的免费在线简历制作工具,适合需要提升相关任务效率的用户。

相关专题

更多
spring框架介绍
spring框架介绍

本专题整合了spring框架相关内容,想了解更多详细内容,请阅读专题下面的文章。

2911

2025.08.06

Java Spring Security 与认证授权
Java Spring Security 与认证授权

本专题系统讲解 Java Spring Security 框架在认证与授权中的应用,涵盖用户身份验证、权限控制、JWT与OAuth2实现、跨站请求伪造(CSRF)防护、会话管理与安全漏洞防范。通过实际项目案例,帮助学习者掌握如何 使用 Spring Security 实现高安全性认证与授权机制,提升 Web 应用的安全性与用户数据保护。

517

2026.01.26

504 gateway timeout怎么解决
504 gateway timeout怎么解决

504 gateway timeout的解决办法:1、检查服务器负载;2、优化查询和代码;3、增加超时限制;4、检查代理服务器;5、检查网络连接;6、使用负载均衡;7、监控和日志;8、故障排除;9、增加缓存;10、分析请求。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

754

2023.11.27

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

377

2023.12.07

Java 微服务与 Spring Cloud 实战
Java 微服务与 Spring Cloud 实战

本专题讲解 Java 微服务架构的开发与实践,重点使用 Spring Cloud 实现服务注册与发现、负载均衡、熔断与限流、分布式配置管理、API Gateway 和消息队列。通过实际项目案例,帮助开发者理解 如何将传统单体应用拆分为高可用、可扩展的微服务架构,并有效管理和调度分布式系统中的各个组件。

388

2026.02.05

Java Spring Cloud微服务配置中心与服务治理实践
Java Spring Cloud微服务配置中心与服务治理实践

本专题围绕 Java 微服务体系中的配置管理与服务治理展开,重点讲解 Spring Cloud 在分布式系统中的核心组件应用。内容涵盖配置中心设计、服务注册与发现、负载均衡、熔断降级以及分布式配置动态刷新机制。通过实际项目案例,帮助开发者构建高可用、易扩展的微服务架构体系。

274

2026.04.07

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

1898

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

3084

2023.09.04

Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

40

2026.11.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
phpEnv手册
phpEnv手册

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn