今日热门!27.上的了天但落不了地的BloomFilter
1 BloomFilter是个好东西它思路清奇,辗转腾挪,号称可解决Redis缓存三大困境之首的穿透问题,是后端面试必备的佳品,但你见过有文章介绍过BloomFilter怎么落地么?似乎没有~
(资料图片仅供参考)
Redis缓存三大困境:穿透、击穿、雪崩。null object可以解决正常的穿透问题,然而面对黑客人恶意制作的穿透则无能为力,但BloomFilter可以。以用户注册登录为例,BloomFilter通过预先收集所有有效uid,并创建一个多hash的bitmap向量,可以有效拦截恶意uid登录的情况。
好了,从这里开始,几乎所有文章都会转向介绍BloomFilter如何优秀,或者其实现原理如何如何。但却故意跳过了一个很关键的问题:BloomFilter如何更新?
仍然以用户注册登录为例。我们预先创建一个包含所有uid的bitmap向量没有问题,但是当有新用户注册后,如何把新注册用户的uid加入到BloomFilter中呢?
2 看似可行的方案1 Dual Write中文翻译为交叉写或双写,即在新注册用户成功后,立马把新注册用户的uid加入到BloomFilter中。
这个方案的优点是实时性很好。但问题是:万一新注册用户成功了,但写Redis失败了怎么办?比如有新用户的注册的时候,刚刚在MySQL注册成功,但还未来得及写入到Redis时,由于网络闪断,写Redis超时了。此时MySQL就比Redis中多一个新注册的用户uid,该用户在登录系统就无法通过BloomFilter验证了。
2 Change Data Capture只所以把Dual Write翻译为『交叉写』,是暗含着在并发情形下,写入MySQL的顺序与写入Redis的顺序可能并不相同。这在很多情况下是无法接受的,比如用户转账类业务,也因此导致Dual Write不是一个常规方案。但在BloomFilter应用场景中,恰好对不同用户uid的写入顺序不敏感。
数据变更捕获,简称CDC。在我们的前述应用场景中,简化的思路是新启动一个服务进程,把自己模拟成MySQL的从库,通过解析binlog,拿到新注册用户的uid,然后再将这个uid写入到BloomFilter中。
正式的CDC过程,通常会先把解析出来的binlog写入到kafka之类的消息队列中,通过消息队列相关的可靠性方案保证新用户的uid一定会写入到BloomFilter中,因此不会有丢消息的情形。
这个方案的优点是可靠性很好。但问题是:kafka消息消费可能有延迟。假如我们新注册了一个用户,但1分钟之后才消费到该用户的注册消息,那么这1分钟之内该新用户登录系统也是通不过BloomFilter验证的。
3 落地方案讲了半天,应该如何既要XX又要XX呢?
说穿了一文不值:既然我们既想要Dual Write的实时性,又要CDC的可靠性,那么我们只要同时使用这两个方案就好了~
4 别打我但你可以来公众号挑衅我,有本事你。。。。过来呀~
5 References16.从核酸检测到BloomFilter
为您推荐
广告
- 今日热门!27.上的了天但落不了地的BloomFilter
- 简单汤圆的做法步骤
- 梦想奔驰_全球讯息
- 环球快看点丨科翔股份等在赣州投资成立钠能科技公司
- 笨蛋纯情舰长不会忘记月球女神(二十七)_环球观察
- 1095电影网百部经典电影_1095电影网_焦点速看
- 陆小凤系列电视剧_陆小凤系列 独家焦点
- 稀土资源是什么资源_环球动态
- 国民信托参投上海景奕股权投资合伙企业,持股97.50%
- 全球热文:郑州航空航天工业管理学院
- 浙江队拿下CBA常规赛3连胜 环球观察
- 兰因璧月讲的什么_兰因璧月txt下载
- 天天简讯:男士羽绒服品牌十大排名 男款羽绒服品牌排行前十
- 世界观速讯丨孕妇肚脐左下方疼痛是怎么回事_肚脐左下方疼痛是怎么回事
- 天天热消息:与青春有关的日子剧情介绍
- 世界最资讯丨皇帝蟹介绍_皇帝蟹产地
- 大苏打是什么 环球新要闻
- 大冬_大d会
- 琥珀属于哪种宝石无机有机_琥珀属于哪种宝石
- 世界热消息:当马斯克说:我曾经醉心数字货币,但现在钟情人工智能
- 1怎么调出电脑显示器的色域值 每日关注
- 2世界最资讯丨翡翠有裂纹能自动修复?翡翠有裂纹会自己好吗
- 3“国超”创新生活设计大赛
- 4贝克汉姆家终团聚,豪门千金儿媳稳站C位;小七瘦太多,亭亭玉立
- 5全球头条:农历20061013是什么星座_10 13是什么星座
- 6【两会声音】全国政协委员林娜:建议探索建立海峡两岸先行示范区_焦点速递
- 7蔚来:零容忍任何违法犯罪与性骚扰行为_微头条
- 8“现代性”的文学进程
- 91900年八国联军侵华影响_1900年八国联军 最主要的影响
- 10大丽花种子种植方法_大丽花种子种植方法步骤|天天快资讯
- 1“隔周三休”就是现代版的“朝三暮四”|全球新动态
- 2水泥水化热检测报告_水泥水化热 今日热议
- 3Moshulu 推出全新 National Trust 系列
- 4全球速读:03月02日从温州出发到恩施的防疫政策
- 5四点底的字与什么有关最佳答案_四点底的字与什么有关|微资讯
- 6世界报道:3月1日基金净值:交银国企改革灵活配置混合A最新净值1.9945,涨0.93%
- 7热消息:90后女生自编自导爆款短剧走红:她自称“野生导演”
- 8环球简讯:驻澳大利亚使馆提醒中国留学生谨防电信诈骗
- 9世界即时看!6000常用成语钢笔字帖
- 10有博主曝光特斯拉潮州事故EDR数据:撞车前5秒内,电门被踩死,未有效制动-全球报资讯
广告
- 实时焦点:路通了,心就不“堵”了!TA们办实事解决居民出行难题
- 测绘股份:公司收款亦存在一定的季节性因素,部分业务收款周期相对较长
- 热门看点:西兰花花语用图像怎么表达出来_西兰花花语用图像怎么表达
- 焦点要闻:杭州个人所得税奖金综合计税公示是什么?
- 国家统计局:中国2月制造业PMI升至52.6%比上月上升2.5个百分点
- 即时焦点:EPS构件
- 百事通!刘林委员:切实减轻中小学教师过重负担
- 环球即时看!保姆纵火案原因_保姆纵火案介绍
- 【环球新要闻】美眉校探_关于美眉校探介绍
- aciic码_aciia码表|实时
- 嘉曼服饰:接受沛京资本等机构调研 全球新要闻
- 【世界快播报】阵风7级左右!北京市发布大风蓝色预警
- 世界滚动:二郎神沉香救母的故事_沉香救母的故事
- 地中海装修风格介绍_地中海装修风格
- 试驾北京现代名图:异域风情韩式“甜品”
- 叶三天是哪部电视剧里的人_叶三天是哪部电视剧
- 花木兰是哪里人百度百科_花木兰到底是哪里人
- 天天热门:益生菌产业升温背后:全球投资并购交易不断,国内科研型企业悄然兴起
- 时隔45年,阿根廷重开驻孟加拉国大使馆
- 焦点滚动:云联商业大系统推荐人_云联商业大系统